【发布时间】:2015-09-07 09:54:49
【问题描述】:
我有一个 C# Windows 窗体应用程序,它有一个主窗体,在它的构造函数中打开另外两个窗体。我称它们为侧面板。
主窗体处理了 GotFocus 事件,该事件为两个侧面板窗体调用 Form.BringToFront()。
启用此功能时(即处理 GotFocus),主窗体的关闭按钮将停止工作。
如何检查事件处理程序中是否按下了关闭按钮?
public Canvas()
{
InitializeComponent();
this.GotFocus += new EventHandler(WindowGotFocus);
tool.Show();
pp.Show();
}
public void WindowGotFocus(object sender, EventArgs e)
{
tool.BringToFront();
pp.BringToFront();
}
当我按下主窗体的关闭按钮时,它获得焦点,WindowGotFocus 方法被调用,并且应用程序没有关闭。如果我评论 'this.GotFocus += new EventHandler(WindowGotFocus);'在构造函数中,它可以工作。
我需要此功能,以便在用户从另一个应用程序切换回该应用程序时再次显示侧面板。
【问题讨论】:
-
您需要共享您的代码,因为发生的任何事情都可能是由某处的代码引起的。你能解释一下“停止工作”是什么意思吗?你的意思是你有没有被调用的代码,或者你不能点击它,或者当你点击它时表单没有关闭?
-
我已经用代码以及要求和行为的详细信息更新了问题。