2014-02-28 85 views
0

TextBox上的.TextChanged事件僅在TextBox失去焦點後纔會觸發。有沒有辦法檢測用戶輸入時輸入的每個字符?檢測文本框中的文本何時發生更改(輸入時)

我知道單選按鈕有一個類似的事件,名爲CurrentCellDirtyStateChanged來檢測按鈕被點擊時,而不必等待它失去焦點。我試圖找到類似的TextBox

+0

[只允許特定字符在文本框中]可能的重複(http://stackoverflow.com/questions/12607087/only-allow-specific-characters-in-textbox) – JDB

回答

2

僅當文本框失去焦點時才觸發TextChanged事件,這不是事實。鍵入 「你好」 時,該碼

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, _ 
           ByVal e As System.EventArgs) _ 
    Handles TextBox1.TextChanged 

    System.Diagnostics.Debug.WriteLine("TextBox1.Text = " & TextBox1.Text) 
End Sub 

產生以下輸出(在輸出窗口):

TextBox1.Text = H
TextBox1.Text =他
TextBox1.Text =赫爾
TextBox1.Text =地獄
TextBox1.Text =你好

但是,刪除字符時也會觸發,所以如果您的目的是過濾字符,請使用其中一個關鍵事件。

+0

你是對的。但是,當我測試它時,它並不適合我。我仍然不知道爲什麼,但它現在正在工作。謝謝。 – user2721815

3

您可以使用KeyDownKeyPress事件。只要按下一個鍵,這些就會觸發。

相關問題