如何在窗体关闭时阻止控件中的事件触发

Jos*_*pez 5 .net c# winforms

我的问题是我TextBoxLeave事件中验证了一个并且我检查了它TextBox有什么.如果此处的文本TextBox与零相同,MessageBox则会出现,但如果表单正在关闭且焦点在此处,TextBoxMessageBox显示因为TextBox没有任何内容.

Leave当表单关闭时,如何避免事件中的验证?

Mik*_*oud 6

您需要覆盖OnFormClosing表单上的方法并设置一个标志,让您知道表单正在关闭.然后,在验证时,首先检查该标志.

务必通话设置标志base.

protected override void OnFormClosing(FormClosingEventArgs e)
{
    _isClosing = true;

    base.OnFormClosing(e);
}
Run Code Online (Sandbox Code Playgroud)