自定义了一个panel模拟messagebox,弹出这个panel的时候,怎么才可以让其后的所有控件都不得获取焦点

duodo 2008-12-23 10:40:37
就好像是messagebox弹出的时候,后面Form的一切操作都不可进行一样。
...全文
88 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jacksonxie 2008-12-23
  • 打赏
  • 举报
回复
将后面的所有控件装入另一个Panel 假设为Panel1
在显示类似Messagebox的Panel(假设为Panel2)时
将Panel1设置为Disable
直到Panel2处理完毕返回去操作Panel1时
再将Panel1设置为Enable
jacksonxie 2008-12-23
  • 打赏
  • 举报
回复
将后面的所有控件装入另一个Panel 假设为Panel1
在显示类似Messagebox的Panel(假设为Panel2)时
将Panel1设置为Disable
知道Panel2处理完毕返回去操作Panel1时
再将Panel1设置为Enable
duodo 2008-12-23
  • 打赏
  • 举报
回复
可不可以给段source?我注册这个panel的LostFoucus事件怎么都触发不了。
PS:disable控件的话,颜色会发生变化,不是很合适
Simonzy 2008-12-23
  • 打赏
  • 举报
回复
在这个Panel失去焦点时,又让他立即获取焦点。
combread 2008-12-23
  • 打赏
  • 举报
回复
有一种方法可以把它们都Disable掉

foreach (Control c in frmThis.Controls)
{
c.Enabled = false;
}

此时Panel里头的control并不会受到影响。因为他们不属于frmThis.Controls集合。

111,131

社区成员

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

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

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