VB编程中的Keydown事件不让其反复触发的办法?
来源:百度知道 编辑:UC知道 时间:2024/06/04 01:34:57
VB编程中编写如下一段程序:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case 37 'left
MSComm1.Output = "Le"
txtlinkmessage.Text = "向左"
Case 38 'up
MSComm1.Output = "Go"
txtlinkmessage.Text = "向前"
Case 39 'right
MSComm1.Output = "Ri"
txtlinkmessage.Text = "向右"
Case 40 'down
MSComm1.Output = "Ba"
txtlinkmessage.Text = "向后"
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case 37 'left
MSComm1.Output = "Tu"
Case 39 'right
MSComm1.Output = "Tu"
Case 38 'up
MSComm1.Output = "Di"
Case 40 'down
MSComm1.Output = "Di"
End Select
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case 37 'left
MSComm1.Output = "Le"
txtlinkmessage.Text = "向左"
Case 38 'up
MSComm1.Output = "Go"
txtlinkmessage.Text = "向前"
Case 39 'right
MSComm1.Output = "Ri"
txtlinkmessage.Text = "向右"
Case 40 'down
MSComm1.Output = "Ba"
txtlinkmessage.Text = "向后"
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case 37 'left
MSComm1.Output = "Tu"
Case 39 'right
MSComm1.Output = "Tu"
Case 38 'up
MSComm1.Output = "Di"
Case 40 'down
MSComm1.Output = "Di"
End Select
End Sub
定义一个窗体变量
Dim KeyValue As Integer
Private Sub Form_Load()
KeyValue = -1
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyValue = KeyCode Then Exit Sub'添加
Select Case KeyCode
Case 37 'left
MSComm1.Output = "Le"
txtlinkmessage.Text = "向左"
Case 38 'up
MSComm1.Output = "Go"
txtlinkmessage.Text = "向前"
Case 39 'right
MSComm1.Output = "Ri"
txtlinkmessage.Text = "向右"
Case 40 'down
MSComm1.Output = "Ba"
txtlinkmessage.Text = "向后"
Case Else
KeyAscii = 0
End Select
KeyValue = KeyCode'添加
End Sub
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case 37 'left
MSComm1.Output = "Tu"