当按下空格键时,如何清除文本框的所有内容?VB.Net
我正在创建一个简单的打字测试程序 我希望空格键触发检查键入的单词是否正确,然后清除文本框的内容 这里发生的情况是,按下空格键时,第一个键入的字将起作用并计数,并且键入的字将被清除,但空格字符仍然保留,因此下一个键入的字将包含空格字符,并且将被错误读取 我尝试在当按下空格键时,如何清除文本框的所有内容?VB.Net,vb.net,winforms,Vb.net,Winforms,我正在创建一个简单的打字测试程序 我希望空格键触发检查键入的单词是否正确,然后清除文本框的内容 这里发生的情况是,按下空格键时,第一个键入的字将起作用并计数,并且键入的字将被清除,但空格字符仍然保留,因此下一个键入的字将包含空格字符,并且将被错误读取 我尝试在txtInput.Clear()应该放置的位置进行交换,但结果是相同的问题 Private Sub txtInput_TextChanged(sender As Object, e As KeyEventArgs) Handles txtI
txtInput.Clear()
应该放置的位置进行交换,但结果是相同的问题
Private Sub txtInput_TextChanged(sender As Object, e As KeyEventArgs) Handles txtInput.KeyDown
If e.KeyValue = Keys.Space Then
Space()
End If
End Sub
Public Function Space()
If txtInput.Text = txtWord.Text Then
ctr = CInt(txtWord.TextLength)
charTotal = charTotal + ctr
lblScore.Text = charTotal.ToString
End If
txtInput.Clear()
txtWord.Text = rdmWord()
End Function
在
KewDown
事件中
文本框的值尚未设置。因此,使用KeyUp
Event
,如下代码所示
Private Sub txtInput_KeyUp(sender As Object, e As KeyEventArgs) Handles txtInput.KeyUp
If e.KeyValue = Keys.Space Then
Space()
End If
End Sub
在
KewDown
事件中
文本框的值尚未设置。因此,使用KeyUp
Event
,如下代码所示
Private Sub txtInput_KeyUp(sender As Object, e As KeyEventArgs) Handles txtInput.KeyUp
If e.KeyValue = Keys.Space Then
Space()
End If
End Sub
您还可以在此处覆盖并捕获空格键:
Protected Overrides Function ProcessCmdKey(ByRef msg As Message, keyData As Keys) As Boolean
If keyData = Keys.Space Then
If Me.ActiveControl Is txtInput Then
Space()
Return True ' suppress space
End If
End If
Return MyBase.ProcessCmdKey(msg, keyData)
End Function
如果要留出空间或输入,请更改为:
If keyData = Keys.Space Or keyData = Keys.Enter Then
您还可以在此处覆盖并捕获空格键:
Protected Overrides Function ProcessCmdKey(ByRef msg As Message, keyData As Keys) As Boolean
If keyData = Keys.Space Then
If Me.ActiveControl Is txtInput Then
Space()
Return True ' suppress space
End If
End If
Return MyBase.ProcessCmdKey(msg, keyData)
End Function
如果要留出空间或输入,请更改为:
If keyData = Keys.Space Or keyData = Keys.Enter Then
添加
e.supersKeypress=True
以防止添加空间。添加e.supersKeypress=True
以防止添加空间。