Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 检测文本框中的文本何时更改(键入时)_Vb.net_Winforms_Textbox_Textchanged - Fatal编程技术网

Vb.net 检测文本框中的文本何时更改(键入时)

Vb.net 检测文本框中的文本何时更改(键入时),vb.net,winforms,textbox,textchanged,Vb.net,Winforms,Textbox,Textchanged,文本框上的.TextChanged事件只有在文本框失去焦点后才会激发。有没有一种方法可以在用户键入时检测正在键入的每个字符 我知道单选按钮有一个类似的事件,名为CurrentCellDirtyStateChanged,可以在不必等待失去焦点的情况下检测按钮被点击的时间。我试图为文本框找到类似的内容。您可以使用或事件。每当您按下一个键时,这些按钮就会触发。只有当文本框失去焦点时才会触发TextChanged事件,这是不正确的。此代码 Private Sub TextBox1_TextChanged

文本框上的.TextChanged事件只有在文本框失去焦点后才会激发。有没有一种方法可以在用户键入时检测正在键入的每个字符

我知道单选按钮有一个类似的事件,名为CurrentCellDirtyStateChanged,可以在不必等待失去焦点的情况下检测按钮被点击的时间。我试图为文本框找到类似的内容。

您可以使用或事件。每当您按下一个键时,这些按钮就会触发。

只有当文本框失去焦点时才会触发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
键入Hello时在输出窗口中生成以下输出:

TextBox1.Text=H TextBox1.Text=He TextBox1.Text=Hel TextBox1.Text=Hell TextBox1.Text=Hello


但是,当您删除字符时,它也会触发,因此,如果您打算筛选字符,请使用其中一个关键事件。

可能重复的字符是正确的。然而,当我测试它时,它对我不起作用。我仍然不知道为什么,但它现在起作用了。谢谢