我认为这是可能的,但我不知道......我想检查何时按下按键A将玩家向左移动,但现在只是一个消息框。
以下是我可以在互联网上找到的所有代码,它没有用......
Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp
If e.KeyCode = Keys.A Then
MsgBox("Left")
End If
End Sub
当你在文本框中输入内容时,我不会问你怎么做,我在问你按键时如何运行一个事件。
答案 0 :(得分:4)
试试这个......
Private Sub TextBox1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If Asc(e.KeyChar) = 97 Or Asc(e.KeyChar) = 65 Then
MsgBox("hello")
End If
End Sub
这应该有效。 97是'a',65是ASCII中的'A'。
答案 1 :(得分:0)
试试这个
Private Sub TextBox1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyCode = Keys.A Then
MsgBox("Left")
End Sub
或
Private Sub textBox1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) _
Handles textBox1.KeyDown
If e.KeyCode = Keys.A Then
MsgBox("Left")
end if
End Sub
答案 2 :(得分:0)
KeyCode , KeyData and KeyValue
是。的成员
KeyUp和KeyDown事件中的System.Windows.Forms.KeyEventArgs
仅答案 3 :(得分:0)
他们实际上是从VB6中简化了这一点。使用VB 2017的新方法是......
Private Sub Textbox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtProblem.KeyPress
If e.KeyCode = "a" or e.KeyCode = "A" Then
MsgBox("Left")
End If
End Sub
答案 4 :(得分:0)
所以,我向正确的方向迈出了一步,也许它会有所帮助。我试图在乒乓球比赛中控制球员到球员,并发现如果textbox1突出显示或“有焦点”,那么这些命令将执行,我可以在屏幕上移动球拍。问题是在屏幕的一角还有一个填充字母的文本框,因为这种情况我还不知道如何摆脱它。也许它会很有用。
Private Sub
Textbox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If Asc(e.KeyChar) = 97 Then 'a
Paddle.Location = New Point(Paddle.Location.X - 10, Paddle.Location.Y)
End If
If Asc(e.KeyChar) = 119 Then 'w
Paddle.Location = New Point(Paddle.Location.X, Paddle.Location.Y - 10)
End If
If Asc(e.KeyChar) = 100 Then 'd
Paddle.Location = New Point(Paddle.Location.X + 10, Paddle.Location.Y)
End If
If Asc(e.KeyChar) = 115 Then 's
Paddle.Location = New Point(Paddle.Location.X, Paddle.Location.Y + 10)
End If
End Sub
此外,您可以使用此命令将焦点从另一个事件
提供给文本框Public Sub ControlSetFocus(control As Control)
If Control.CanFocus Then
control.Focus()
End If
End Sub
答案 5 :(得分:0)
这对我有用
If e.KeyChar = Convert.ToChar("a") Then
MsgBox(Convert.ToChar("a") +"enter key pressed ")
End If
还可以在“”中使用数字和大写