我使用以下代码尝试让 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
我是这方面的新手,所以我不懂数百万行编码,所以你能不能让它尽可能简单:-)。
由于没有实际问题,因此这里完全是猜测。 首先,为了获得类似的东西,您需要为表单设置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 以某种方式算作多个。