2011-01-07 108 views
3

如何更改窗体皮肤像标题栏,最大&分钟按钮等 我认为一些Win32 Api的可用于此!如果有人知道分享!c窗口窗体皮肤#

platform: win forms(windows application)in c#。 Os:Windows

+3

要么获得DevExpress组件,要么熟悉P/Invoke的* lots *。 – Josh 2011-01-07 06:47:01

+0

这根本不值得。如果您必须切换到WPF,或者单独留下UI镶边。 – 2011-01-07 07:51:16

回答

5

我假设你的意思是只能更改单个窗体的窗口镶边。

您当然可以使用操作系统在所有窗口中更改窗口外观,例如Aero,Aero Basic等等。自Windows XP以来,Windows的操作系统样式已经可用,并允许定义和使用自定义主题。

要自定义单个窗体,您需要自己编写大量代码。这有两个层次。对于不使用Vista/Windows 7 Aero外观的窗口,则只需响应相应的Windows消息即可。这些包括WM_NCPAINT,WM_NCHITTEST,WM_NCACTIVATE等。当操作系统使用Aero(玻璃窗)时,您需要使用称为桌面Windows管理器(DWM)的东西。