我需要使用三个不同的键,例如(Ctrl + Shift + F12)在vb.net中打开另一个窗体。
请帮帮我。
在keydown事件中,您可以访问这些键。例如,在这个处理程序中…
Private Sub keyDown(ByVal Sender As Object, ByVal e As KeyEventArgs) handles me.keydown
…您可以使用布尔值e.Alt、e.Control和e.Shift来判断这些控制键是否按下。然后你可以这样做:
Select case CInt(e.keycode)
case Keys.F12
if e.Control andalso e.Shift then frm.ShowDialog
...
定义这个函数:
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As IntPtr) As Short
所以你可以检查哪些键同时被按下:
'For example, keys "arrow up" and letter "W"
If GetKeyState(87) < 0 AndAlso GetKeyState(38) < 0 Then
'Do something
End If
你可以在KeyDown事件或Timer中检查键。
您可以像xpda的回答一样使用键事件来处理它,或者,如果您已经有一个菜单项来执行相同的操作,您可以设置ToolStripMenuItem的ShortcutKeys属性。