2016-08-18 19 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- the-background) –

+0

代わりに何をしていますか? – Brandon

+0

@Brandon:恐らく何もありません。彼はキーを押しているときにフォーカスを持っていない彼のフォームに関連していると思う。 –

答えて

0

あなたのフォームが最大化状態または最小化状態にないため、おそらく動作しない可能性があります。要するに、あなたのフォームは通常の状態です。このステップを試してください。

第1:フォームのキープレビューを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