【问题标题】:Keypress event does not work?按键事件不起作用?
【发布时间】:2014-07-04 19:55:34
【问题描述】:

我在 vb6 中编码,为了好玩,我想玩一下按键事件来让事情动起来。我很快意识到,非常有限数量的键会响应按键事件。我想使用箭头键,但似乎虽然有为它们保留的命令(VBKeyUpVBKeyDownVBKeyRightVBKeyLeft)他们只是不做任何事情。对此有解释还是他们只是没有支持?我使用的代码如下。

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

【问题讨论】:

  • KeyUp 和 KeyDown 事件支持更广泛的键,包括箭头键。

标签: vb6 keypress


【解决方案1】:

使用 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

【讨论】:

  • 这是有道理的,但是keydown事件不会用这个代码触发。
  • @NickHallick 只要 ListView67 控件具有焦点,此代码就应该可以工作。
  • @Jac keydown 事件触发,但是当我按下箭头键时,keyascii 没有填充任何内容
  • @NickHallick 你是说 KeyCode 吗?我已经尝试过 salih 的代码,它对我有用。
  • @NickHallick 您的具体要求是什么?如果 ListView67 控件具有焦点,则此代码应该可以工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-25
  • 2013-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-20
相关资源
最近更新 更多