2015-09-17 54 views
0

我正在创建一个快捷键来打开某种形式,我有KeyPreview = true,我正在使用这个代码,它工作的很棒!CTRL + ALT + SHIFT + A打开隐藏表格

#Region "Shortcuts" 
    Private Sub frmQueuing_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown 
     If (e.KeyCode = Keys.A AndAlso e.Modifiers = Keys.Control) Then 
      frmMain.show() 
     End If 
    End Sub 
#End Region 

但是我试图通过添加Alt和Shift扩展该代码,现在它不工作。我不知道为什么。

#Region "Shortcuts" 
    Private Sub frmQueuing_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown 
     If (e.KeyCode = Keys.A AndAlso e.KeyCode = Keys.Shift AndAlso e.KeyCode = Keys.Alt AndAlso e.Modifiers = Keys.Control) Then 
      frmMain.show() 
     End If 
    End Sub 
#End Region 

回答

1

尝试使用

#Region "Shortcuts" 
    Private Sub frmQueuing_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown 
     If (e.Control AndAlso e.Shift AndAlso e.Alt AndAlso e.KeyCode = Keys.A) Then 
      frmMain.show() 
     End If 
    End Sub 
#End Region 

这些链接将帮助您了解KeyEventArgs.KeyCode PropertyKeyEventArgs.Alt Property

+0

仍然没有工作。我不知道为什么?这太奇怪了。 –

+0

现在请检查,我已经改变了一下代码。 –

+0

它现在工作,太棒了!非常感谢。 –

1

之间的差异,您可以使用:

If e.KeyCode = Keys.A And Control.ModifierKeys = (Keys.Control + Keys.Shift + Keys.Alt) Then 
相关问题