2014-09-22 78 views
-2

我想通过到F12每按下时,执行一定的命令或过程的键盘快捷键分配给我的应用程序,如F1,无论哪个域或按钮的是焦点。这应该像当某个按钮处于焦点时一样工作,并且您按输入键。我使用VB 2013分配快捷键

+4

只需将问题标题复制到Google搜索框中,即可了解如何执行此操作。你甚至不需要修复拼写错误:) – 2014-09-22 14:13:08

+0

用你自己的代替某些功能按钮是一个坏主意。例如,在许多应用程序中** F1 **被认为是* Help *键。 – Paul 2014-09-22 14:34:17

回答

0

例如:

Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown 
If e.KeyCode = Keys.I And e.Modifiers = Keys.Shift Then 
     '' What will happen when you press Shift + I 
end if 
end sub 
1

您需要使用您的窗体的KeyDown事件,并与您可以捕获键,添加一个命令给它。

然后,您使用if语句来检查哪个按钮被按下,并为您想要使用的每个按钮添加一个命令。

Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown 
    If e.KeyCode = Keys.F1 Then 
     MsgBox("F1") 
    ElseIf e.KeyCode = Keys.F2 Then 
     MsgBox("F2") 
    ElseIf e.KeyCode = Keys.F3 Then 
     MsgBox("F3") 
    ElseIf e.KeyCode = Keys.F4 Then 
     MsgBox("F4") 
    ElseIf e.KeyCode = Keys.F5 Then 
     MsgBox("F5") 
    ElseIf e.KeyCode = Keys.F6 Then 
     MsgBox("F6") 
    ElseIf e.KeyCode = Keys.F7 Then 
     MsgBox("F7") 
    ElseIf e.KeyCode = Keys.F8 Then 
     MsgBox("F8") 
    ElseIf e.KeyCode = Keys.F9 Then 
     MsgBox("F9") 
    ElseIf e.KeyCode = Keys.F10 Then 
     MsgBox("F10") 
    ElseIf e.KeyCode = Keys.F11 Then 
     MsgBox("F11") 
    ElseIf e.KeyCode = Keys.F12 Then 
     MsgBox("F12") 
    End If 
End Sub