我有两种形式,form1和form2。 form1有一个按钮,单击该按钮可在form1上打开form2中心屏幕。 form2小于form1(故意)。如果触发click事件并且form2处于打开状态,那么用户单击form1,form2将落后于windows中的大多数程序。
我想要的是:当form2打开,用户点击其他内容时,form2关闭。
我已尝试过(在表格2上):
private void formLostFocus (object sender, System.EventArgs e)
{
this.Close();
}
答案 0 :(得分:3)
请尝试使用此代码
private void Form2_Deactivate(object sender, EventArgs e)
{
this.Close();
}
订阅Deactivate事件
this.Deactivate += new System.EventHandler(this.Form2_Deactivate);
答案 1 :(得分:0)
使用此代码:
这是针对将打开form2的事件
private void button1_Click(object sender, EventArgs e)
{
Test.Form2 frm = new Test.Form2();
frm.TopMost = true;
frm.Show();
}
使用表单2中的Deactivate,当您在表单外部单击时将关闭表单,并确保使用TopMost = true;打开表格时。
private void Form2_Deactivate(object sender, EventArgs e)
{
this.Close();
}