2

我需要使用三个不同的键,例如 ( Ctrl++ Shift)F12在 vb.net 中打开另一个表单。

请帮我。

4

3 回答 3

1

在 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
    ...
于 2013-01-17T06:29:35.913 回答
1

定义这个函数

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 或任何东西中检查键。希望这可以帮助。

于 2013-01-17T11:13:55.463 回答
1

您可以使用 xpda 的答案中的关键事件来处理它,或者,如果您已经有一个 MenuItem来执行相同的操作,则可以设置 ToolStripMenuItem 的ShortcutKeys属性。

于 2013-01-17T14:07:46.380 回答