私の問題はTextBox
、Leave
イベントで a を検証し、これTextBox
に何かがあることを確認することです。this のテキストがTextBox
同じでゼロの場合は aMessageBox
が表示されますが、フォームが閉じていてフォーカスが thisTextBox
にある場合は、 には何もないMessageBox
ため、が表示されます。TextBox
Leave
フォームが閉じているときにイベントで検証を回避するにはどうすればよいですか?
フォームのメソッドをオーバーライドOnFormClosing
し、フォームが閉じていることを知らせるフラグを設定する必要があります。次に、検証するときに、最初にそのフラグを確認します。
を呼び出す前に、必ずフラグを設定してくださいbase
。
protected override void OnFormClosing(FormClosingEventArgs e)
{
_isClosing = true;
base.OnFormClosing(e);
}
これを実現するには、「leave」イベントの代わりにテキストボックスの「validated」イベントを使用します。
これにより、フォームが閉じる前にコードが実行され、必要なものが正確に達成されるようになります。