5

私の問題はTextBoxLeaveイベントで a を検証し、これTextBoxに何かがあることを確認することです。this のテキストがTextBox同じでゼロの場合は aMessageBoxが表示されますが、フォームが閉じていてフォーカスが thisTextBoxにある場合は、 には何もないMessageBoxため、が表示されます。TextBox

Leaveフォームが閉じているときにイベントで検証を回避するにはどうすればよいですか?

4

3 に答える 3

6

フォームのメソッドをオーバーライドOnFormClosingし、フォームが閉じていることを知らせるフラグを設定する必要があります。次に、検証するときに、最初にそのフラグを確認します。

を呼び出す前に、必ずフラグを設定してくださいbase

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

    base.OnFormClosing(e);
}
于 2013-07-01T19:04:15.557 に答える
1

これを実現するには、「leave」イベントの代わりにテキストボックスの「validated」イベントを使用します。

これにより、フォームが閉じる前にコードが実行され、必要なものが正確に達成されるようになります。

于 2013-07-02T00:44:31.107 に答える