C#自定义WinForm窗体外观(不设FormStyle为None)

czw5305302 2006-08-02 10:40:35
很多皮肤控件可以实现窗体的换肤,如IrisSkin等。

想请教在家,自定义WinForm窗体外观是用什么方法实现的?

如果设FormStyle为None可是实现自定义窗体外观也可以拉伸等,但有一个明显的缺点:如果系统中有菜单,要么你得屏蔽该菜单然后自己去模拟菜单的行为,否则菜单将会出现在最顶端。

不知道有什么更好的方法?

重写WndProc函数吗?调用"User32.dll"和"Kernel32.dll"吗?这样的话是不是自定义的标题栏图片只能大小为SystemInformation.CaptionHeight这类属性的大小吗???

有人有这方面的思路没?

谢谢
...全文
336 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Knight94 2006-08-03
  • 打赏
  • 举报
回复
to 重写WndProc函数吗?调用"User32.dll"和"Kernel32.dll"吗?这样的话是不是自定义的标题栏图片只能大小为SystemInformation.CaptionHeight这类属性的大小吗???

参看
http://www.codeproject.com/csharp/csharpmovewindow.asp

这样你就不会受到SystemInformation.CaptionHeight的限制。
aSalt 2006-08-03
  • 打赏
  • 举报
回复
up
czw5305302 2006-08-03
  • 打赏
  • 举报
回复
哈哈,这个有道理

但是这仅限于自己开发时,通用性就不强了
三省Ta叔 2006-08-03
  • 打赏
  • 举报
回复
我用过ComponentOne,设置 Form的FormStyle 为 None时候,是把 Mainmenu放到一个Panel里去,呵呵。这样它就不会到顶端了,可以拖动 Panel来调整菜单位置。
czw5305302 2006-08-03
  • 打赏
  • 举报
回复
菜单能直接放到面板中去吗?

我怎么觉得是不行啊

除非自己构造一个模拟的菜单
czw5305302 2006-08-03
  • 打赏
  • 举报
回复
谢谢
czw5305302 2006-08-02
  • 打赏
  • 举报
回复
先自己顶一个吧

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧