繁体   English   中英

在VB.NET中单击最小化按钮时的最小化表单

[英]Minimize form when minimize button is clicked in VB.NET

我有一个最大化此属性的表单:

Me.WindowState = FormWindowState.Maximized

并使用FormBorderStyle = None 这意味着打开此表单时,无法将其最小化,这是我想要的行为。

在此主表单中,有一个按钮可以打开另一个称为“控制台”的小表单,在其中我可以看到主表单引发的一些消息。 此“控制台”形式具有FormBorderStyle = FixedSingle ,这意味着可以将其最小化。

问题在于,当我最小化“控制台”表单时,由于主表单占据了整个屏幕,因此无法再次打开。

我想做的是将“控制台”最小化,并在需要时能够再次看到它最大化。

我试图使用“控制台”形式的事件,如SizeChangedKeyUp并在按下最小化按钮时进行控制。

我尝试的所有方法都出了问题,并且总是在我按下最小化按钮时,表格通常会最小化。

我可以通过单击最小化按钮来最小化表单,以查看最小化窗口向下以在需要时最大化它吗?

我接受任何建议!

最后,我使用了此选项:单击以最小化时,我只是重新定位表单并调整其大小。 也许这是一个简单且手动的选项,并且可以肯定这将是更好的方法,但这为我提供了我现在需要的东西。

@HansPassant感谢您的帮助! 我将按照您的建议查找有关对接布局管理器的信息。

这是代码:

Private Sub frmConsole_Move(sender As Object, e As EventArgs) Handles MyBase.Move
    If Me.WindowState = FormWindowState.Minimized Then
        Me.Size = New System.Drawing.Size(247, 0)
        Me.WindowState = FormWindowState.Normal
        Me.Location = New Point(padre.GMapControl.Location.X, padre.GMapControl.Location.Y + 1000)
        Me.TopMost = True
    ElseIf Me.WindowState = FormWindowState.Maximized Then
        Me.Size = New System.Drawing.Size(447, 900)
        Me.WindowState = FormWindowState.Normal
        Me.Location = New Point(padre.Location.X + padre.GMapControl.Width * 0.9, padre.Location.Y)
    End If
End Sub

我已经使用主窗体的一些按钮位置来定位“控制台”窗体,但是它可以是任何值。

谢谢!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM