关闭时取消离开事件

时间:2010-04-19 00:53:10

标签: c# .net winforms textbox events

我在表单上有一个文本框,其中有一个方法是从txPredio_Leave事件中调用的。

我的问题是,用户是否专注于文本框,然后点击右上角的小X关闭图标或致电this.ActiveMdiChild.Close();或致电

关闭表单
    private void mnucerrarTodas_Click(object sender, EventArgs e)
    {
        foreach (Form form in this.MdiChildren)
        {
            form.Close();
        }
    }

txPredio执行方法..然后我需要在表单关闭时不执行此方法。

我认为如果表格正在结束,可以在休假活动中提出一个解决方案

        private void txPredio_Leave(object sender, EventArgs e)
        {  
            if(!form is closing)//pseudo code
               Check_Load_Predio();
        }

或其他解决方案可能

private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
    {   
       //code for cancel the txPredio_Leave event
    }

解决方案Here对我不起作用。然后我需要一个解决方案来解决我的问题提前致谢

1 个答案:

答案 0 :(得分:2)

尝试删除Leave中的FormClosing处理程序。

编辑:像这样:

private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{   
    txPredio.Leave -= txPredio_Leave;
}