2016-08-18 51 views
-2

我试图让我的程序最小化和最大化按键(我使用h键)。按键最小化和最大化程序

Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress 
    Select Case e.KeyChar 
     Case "h" 
      If Me.WindowState = FormWindowState.Maximized Then 
       Me.WindowState = FormWindowState.Minimized 
      ElseIf Me.WindowState = FormWindowState.Minimized Then 
       Me.WindowState = FormWindowState.Maximized 
      End If 
    End Select 
End Sub 
End Class 

我不明白它为什么赢得'工作。

+0

可能重复[听程序在后台时按键](http://stackoverflow.com/questions/38153300/listen-to-key-press-when-the-program-is-in-背景) –

+0

这是做什么呢? – Brandon

+0

@Brandon:可能没什么。我怀疑这与他按下键时没有专注的表单有关。 –

回答

0

嗯也许它不工作,因为你的表单不处于最大化状态或最小化状态。总之你的表单处于正常状态。先试试这一步。

1st:将窗体的关键预览设置为True。 然后在你的代码:

Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress 
Select Case e.KeyChar 
    Case "h" 
     If Me.WindowState = FormWindowState.Maximized Then 
      Me.WindowState = FormWindowState.Minimized 
     ElseIf Me.WindowState = FormWindowState.Minimized Then 
      Me.WindowState = FormWindowState.Maximized 
     else 
      Me.WindowState = FormWindowState.Minimized 'add this. 
     End If 
End Select 
End Sub 

如果这个代码dind't工作努力将它转化成键按下事件。希望这能解决你的问题。

+0

如果这有助于您或找到答案,请将其标记为不让人混淆。或者如果你有自己的答案,并由你自己解决,然后张贴一些研究选项 – Muj