多个键盘快捷键

时间:2013-10-14 18:31:12

标签: vb.net keyboard keyboard-shortcuts multiple-instances shortcuts

我使用以下代码尝试获取 Ctrl + S 按工具条按钮:

 Private Sub take_register_KeyDown(ByVal sender As Object, _
          ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown

    If e.KeyCode = Keys.S And Keys.Control Then
        ToolStripButton20.PerformClick()

    End If

End Sub

我是这方面的新手,所以我不理解数百万行编码,所以请你尽量保持简单:-)。

1 个答案:

答案 0 :(得分:1)

由于没有实际问题,因此总在猜测。首先,为了获得类似的工作,您需要为表单设置KeyPreview = True。接下来,您可能希望使用KeyDown事件而不是KeyPress

Private Sub Form1_KeyDown(...)
    ' when possible use AndAlso for speed and to avoid some errors in
    ' some situations.  if e.Control is False, the second part wont be evaluated.
    If e.Control AndAlso e.KeyCode = Keys.S Then

        ToolStripButton20.PerformClick()
    End If
End Sub

重复:您可以简单地将快捷键组合分配给设计器中的菜单对象,让.NET完成所有工作。 ......除非 Ctrl + S 以某种方式计算多重,否则我不知道“多个”在哪里播放。