2

Textbox_Validatingイベントを使用して、ウィンドウフォームの1つでテキストボックスを検証しています。texboxのテキストが変更された場合、テキストボックスを検証したかったのです。そこで、textbox_Texchangedイベントから検証イベントを呼び出しました。ただし、キーを押すとすぐにtextchangedイベントが発生し、したがってtext_Validatingイベントが発生するという副作用があります。キーを押したためにテキストプロパティが変更された場合は、Text_Validatingの呼び出しをブロックしたいと思います。しかし、誰かが評価txtbox.Text="asdf";した場合、この場合は検証イベントを発生させたいと思います。

private void txt8Ydere1_TextChanged(object sender, EventArgs e)
    {
        txt8Ydere1_Validating(sender,null);
    }
4

2 に答える 2

1

これを行うことにより、検証イベントへの呼び出しをブロックできます

txt8Ydere1.Validating-=txt8Ydere1_Validating;

このコードをkeydown、keyUpイベントに配置します。

イベントを再サブスクライブせずに、Validatingメソッドを直接呼び出すtxtbox.Text equals "asdf"ことができるかどうかを確認してください。

txt8Ydere1_Validating(sender,null);
于 2012-04-05T12:56:09.297 に答える
0

テキストボックスにはLostFocusイベントを使用します。そのイベントから検証を実行できます。

詳細については、msdnを参照してください。

于 2012-04-06T16:34:57.760 に答える