如何实现点击一个按钮后窗体中其他控件的鼠标和键盘事件都失效

freetd 2010-10-13 04:59:33
如题,不是注销事件,有没有简单的办法,类似ShowDialog()后主窗体点击没反应的效果(只是要实现事件的实效)
...全文
193 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lianjieydd 2010-10-14
  • 打赏
  • 举报
回复
有启发,先试试
freetd 2010-10-14
  • 打赏
  • 举报
回复
楼上的思路可以,先试试
兔子-顾问 2010-10-14
  • 打赏
  • 举报
回复
不给代码,只给思路。
1.动态的创建一个Picturebox控件。
2.吧当前窗体保存到一个位图中,设置为Picturebox控件的Image属性。
3.Picturebox控件添加到窗体,并执行BringToFront设置为顶层,用户看到就是这张图了,虽然看上去和刚才按钮完全一样。
4.你的那个按钮,执行BringToFront,放在顶部,盖住图片对应的位置,以便能点击按钮。
恢复的时候简单,直接把PictureBox移除释放即可。
freetd 2010-10-14
  • 打赏
  • 举报
回复
是WinForm程序
freetd 2010-10-14
  • 打赏
  • 举报
回复
我试过用截取消息的方法去处理这个问题,

if (m.Msg == 0x0200 || m.Msg == 0x0202 || m.Msg == 0x0204 || m.Msg == 0x0205)
{
.......
}

可是这里的判断只是对窗体有效,而窗体里面的控件就无效了
l576981437 2010-10-14
  • 打赏
  • 举报
回复
js遮罩层啊
freetd 2010-10-14
  • 打赏
  • 举报
回复
设置enable的话有个不好的现象,就是所有控件都变成灰色了,这样很不美观
wuyq11 2010-10-13
  • 打赏
  • 举报
回复
遍历控件foreach(Control,设置enable
yjl49 2010-10-13
  • 打赏
  • 举报
回复
找个大panel把所有控件放进去,一点就把这个panel给设置为不可用。
vpoint2009 2010-10-13
  • 打赏
  • 举报
回复
把能disable的都disable掉?
zl194 2010-10-13
  • 打赏
  • 举报
回复
showDialog() 并指定坐标到窗口以外。

111,129

社区成员

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

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

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