(VB)即使按住键,如何只检测一次按键?

时间:2015-01-03 01:01:24

标签: vb.net keypress keydown

我最近一直致力于一个大型游戏项目,虽然有几种检测键盘输入的方法。对于移动,我使用getasynckeystate(这是完美的),因为它会在按下键的每个刻度上发送一个信号。

然后是另一种方法,即keydown。此方法适用于单个按键,但后来一秒钟开始发送垃圾按键动作。

我的目标是找到一些只能检测到你的按键一次的东西,即使你按下按键;一旦你放开钥匙,它就会让你再次击中它。请帮助并感谢您阅读本文!

示例:

如果GetAsyncKeyState(Convert.ToInt32(Keys.W))那么.... 如果e.keycode = keys.B那么....

1 个答案:

答案 0 :(得分:0)

'keyUp'事件捕获按下的键或仅按下一次的键:

Sub Control_KeyUp(sender As Object, e As KeyEventArgs) Handles Control.KeyUp
        MsgBox("Pressed key: " & e.KeyCode.ToString())
End Sub

编辑:已移除私人访问权限,因此可以从其他类调用。