防止重复键控代码运行(vb.net)
如果您在按键子按钮中按住该键,它会重复该代码,直到释放为止。防止重复键控代码运行(vb.net),vb.net,Vb.net,如果您在按键子按钮中按住该键,它会重复该代码,直到释放为止。 有没有办法防止代码持续运行并保持它只运行一次?谢谢 要做到这一点,您需要处理多个关键事件。比如说 Public Class Form1 Private keyHolding As Boolean = False Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown If Not keyHol
有没有办法防止代码持续运行并保持它只运行一次?谢谢 要做到这一点,您需要处理多个关键事件。比如说
Public Class Form1
Private keyHolding As Boolean = False
Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
If Not keyHolding Then
Label1.Text &= "Keydown event detected "
keyHolding = True
'Place the code that you want to run only once in the key down event here...
Else
Label1.Text &= "User is holding the key down "
'Place the code that you want to run continuously in the key down event here...
End If
End Sub
Private Sub Form1_KeyUp(sender As Object, e As KeyEventArgs) Handles Me.KeyUp
Label1.Text &= "KeyUp event detected "
keyHolding = False
End Sub
End Class
请记住,这种方法适用于标准windows窗体应用程序。例如,如果您正在开发一个游戏,那么这种方法将导致各种问题,并且通过本机API调用或一些游戏开发框架有更好的解决方案
希望这有帮助。在KeyDown上,您可以将密钥代码存储在a中,然后在KeyUp上删除它。在KeyDown处理程序中执行任何操作之前,请检查它是否已在HashSet中,如果已存在,则不执行任何操作。