二つの方法:
一時的に再び発火イベントを防止するためのハンドラを削除します。
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
MsgBox("txt was changed")
RemoveHandler TextBox1.TextChanged, AddressOf TextBox1_TextChanged
TextBox1.Clear()
AddHandler TextBox1.TextChanged, AddressOf TextBox1_TextChanged
End Sub
または
イベントは自身から発信されたかどうかを確認するためにフィールドを作成します。
Dim textBoxAlreadyChanging As boolean = False
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
If Not textBoxAlreadyChanging Then
MsgBox("txt was changed")
textBoxAlreadyChanging = True
TextBox1.Clear()
textBoxAlreadyChanging = False
End If
End Sub
再度イベントハンドラへの呼び出しをクリアする – Steve
はい私はそれを知っています私はテキストボックスをきれいにして、msgboxを1回だけ表示したいのですが、それはできますか? –