【问题标题】:Minimize and maximize program with key press通过按键最小化和最大化程序
【发布时间】:2016-08-18 18:47:30
【问题描述】:

我正在尝试使我的程序在按键时最小化和最大化(我正在使用 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

我不明白为什么它不起作用。

【问题讨论】:

  • 它在做什么?
  • @Brandon :可能什么都没有。我怀疑这与他按下按键时表单没有焦点有关。
  • @VisualVincent 我并没有真正阅读代码,但是当表单最小化时它不会工作。那是 PInvoke 领域。
  • @Brandon : 如前所述... :)

标签: vb.net


【解决方案1】:

嗯,它可能不起作用,因为您的表单未处于最大化状态或最小化状态。简而言之,也许您的表格处于正常状态。先生,试试这一步。

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

如果此代码不起作用,请尝试将其转移到按键按下事件。 希望这能解决您的问题。

【讨论】:

  • 如果这对您有帮助或找到答案,请标记它,以免人们感到困惑。或者,如果您有自己的答案并自行解决,则将其发布以供一些研究选择
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-15
相关资源
最近更新 更多