Vb6 按键事件不起作用?

Vb6 按键事件不起作用?,vb6,keypress,Vb6,Keypress,我用vb6编程,为了好玩,我想我可以玩一下按键事件,让事情进展起来。我很快意识到,只有非常有限的按键才能响应按键事件。我想使用箭头键,但似乎尽管有为它们保留的命令(VBKeyUp,VBKeyDown,VBKeyRight,VBKeyLeft),但它们什么也不做。这有什么解释吗,还是他们没有支持?我使用的代码如下 Private Sub ListView67_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyUp Then Command1_Clic

我用vb6编程,为了好玩,我想我可以玩一下按键事件,让事情进展起来。我很快意识到,只有非常有限的按键才能响应按键事件。我想使用箭头键,但似乎尽管有为它们保留的命令(
VBKeyUp
VBKeyDown
VBKeyRight
VBKeyLeft
),但它们什么也不做。这有什么解释吗,还是他们没有支持?我使用的代码如下

Private Sub ListView67_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyUp Then
Command1_Click
End If

If KeyAscii = vbKeyDown Then
Command4_Click
End If

If KeyAscii = vbKeyRight Then
Command2_Click
End If

If KeyAscii = vbKeyLeft Then
Command3_Click
End If

End Sub

使用KeyDown事件而不是KeyPress

Private Sub ListView67_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyUp Then
Command1_Click
End If

If KeyCode = vbKeyDown Then
Command4_Click
End If

If KeyCode = vbKeyRight Then
Command2_Click
End If

If KeyCode = vbKeyLeft Then
Command3_Click
End If

End Sub

KeyUp和KeyDown事件支持范围更广的键,包括箭头键。这是有道理的,但KeyDown事件不会用此代码触发。@NickHallick只要ListView67控件有焦点,此代码就可以工作。@Jac按下箭头时会触发KeyDown事件,但keyascii不会填充任何内容key@NickHallick做你是说密码?我试过萨利赫的代码,它对我有效。@NickHallick你的确切要求是什么?。如果ListView67控件已聚焦,则此代码应该可以工作。