winform无边框窗体

sj490790083 2017-06-06 09:24:46
调试过程中发现无边框窗体,在点击任务栏的显示桌面后,再点击任意任务栏中的别的程序(比如已经打开的文件夹),就会使无边框窗体被显示出来,请问有人遇到过没?怎么取消这种效果。
...全文
267 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
bloodish 2017-06-06
  • 打赏
  • 举报
回复
引用 6 楼 sj490790083 的回复:
protected override CreateParams CreateParams { get { const int WS_MINIMIZEBOX = 0x00020000; // Winuser.h中定义 CreateParams cp = base.CreateParams; cp.Style = cp.Style | WS_MINIMIZEBOX; // 允许最小化操作 return cp; } } 搞定了, 重写一下这个属性就行
bloodish 2017-06-06
  • 打赏
  • 举报
回复
引用 5 楼 sj490790083 的回复:
或者有没有办法捕获用户单击了显示桌面这个按钮。
WndProc对于win+d,win+m没有任何反应,如果能抓到消息倒可以处理下
sj490790083 2017-06-06
  • 打赏
  • 举报
回复
protected override CreateParams CreateParams { get { const int WS_MINIMIZEBOX = 0x00020000; // Winuser.h中定义 CreateParams cp = base.CreateParams; cp.Style = cp.Style | WS_MINIMIZEBOX; // 允许最小化操作 return cp; } } 搞定了, 重写一下这个属性就行
sj490790083 2017-06-06
  • 打赏
  • 举报
回复
或者有没有办法捕获用户单击了显示桌面这个按钮。
sj490790083 2017-06-06
  • 打赏
  • 举报
回复
引用 3 楼 bloodish 的回复:
[quote=引用 2 楼 sj490790083 的回复:] 没有设置TopMost,任意新建一个无边框窗体都会这样。
确实是这样,以前没注意到,有意思了[/quote] 我也是没注意过,但是被测试发现了,有解不。
bloodish 2017-06-06
  • 打赏
  • 举报
回复
引用 2 楼 sj490790083 的回复:
没有设置TopMost,任意新建一个无边框窗体都会这样。
确实是这样,以前没注意到,有意思了
sj490790083 2017-06-06
  • 打赏
  • 举报
回复
没有设置TopMost,任意新建一个无边框窗体都会这样。
bloodish 2017-06-06
  • 打赏
  • 举报
回复
这个窗体是否定时检查有没有设置为TopMost, 如果没有则自动设置TopMost = true?

110,537

社区成员

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

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

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