繁体   English   中英

如何在失去焦点时触发表单关闭

[英]How do I trigger a form to close when it loses focus

我有两种形式,form1和form2。 form1有一个按钮,单击该按钮可在form1上打开form2中心屏幕。 form2小于form1(故意)。 如果触发click事件并且form2处于打开状态,那么用户单击form1,form2将落后于windows中的大多数程序。

我想要的是:当form2打开,用户点击其他东西时,form2关闭。

我试过(在form2上):

private void formLostFocus (object sender, System.EventArgs e)
{
  this.Close();
}

请试试这段代码

private void Form2_Deactivate(object sender, EventArgs e)
        {
            this.Close();
        }

并订阅Deacticate活动

this.Deactivate += new System.EventHandler(this.Form2_Deactivate);

使用此代码:

这是针对将打开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();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM