2017-02-17 46 views
0

我试图使用窗体上的热键隐藏/显示一个文本框,试了很多办法和阅读本thread后,我这样做:Windows窗体热键

If Control.ModifierKeys = Keys.B Then 
    If TextBox1.Visible = True Then 
     TextBox1.Visible = False 
    Else 
     TextBox1.Visible = True 
    End If 

和:

If Control.ModifierKeys = Keys.B Then 
    If TextBox1.Visible = True Then 
     TextBox1.Hide() 
    Else 
     TextBox1.Hide() 
    End If 
End If 

但仍然没有工作..帮助我,请

+0

“Control.ModifierKeys”如何等于'Keys.B'?修饰键是Ctrl,Shift和Alt。 – jmcilhinney

回答

1

首先,你需要设置表格属性

KeyPreview = True 

如果你想使用ALT或其他组合然后使用形式KeyDown事件

Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown 
    If e.KeyCode = Keys.B Then TextBox1.Visible = Not TextBox1.Visible 
    End Sub 

你需要检查修饰过

Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown 
     If CBool(e.Modifiers And Keys.Alt) AndAlso e.KeyCode = Keys.B Then TextBox1.Visible = Not TextBox1.Visible 
    End Sub 

如果你想要做很多很多,然后使用select case语句

+0

它的工作原理,我完全错过了这个:KeyPreview = True – Fabrizio

+0

很高兴听到,请。记得接受答案。如果您需要检查修饰符的组合并且无法弄清楚,请不要犹豫,问问。 –