[英]Minimize form when minimize button is clicked in VB.NET
我有一个最大化此属性的表单:
Me.WindowState = FormWindowState.Maximized
并使用FormBorderStyle = None
。 这意味着打开此表单时,无法将其最小化,这是我想要的行为。
在此主表单中,有一个按钮可以打开另一个称为“控制台”的小表单,在其中我可以看到主表单引发的一些消息。 此“控制台”形式具有FormBorderStyle = FixedSingle
,这意味着可以将其最小化。
问题在于,当我最小化“控制台”表单时,由于主表单占据了整个屏幕,因此无法再次打开。
我想做的是将“控制台”最小化,并在需要时能够再次看到它最大化。
我试图使用“控制台”形式的事件,如SizeChanged
或KeyUp
并在按下最小化按钮时进行控制。
我尝试的所有方法都出了问题,并且总是在我按下最小化按钮时,表格通常会最小化。
我可以通过单击最小化按钮来最小化表单,以查看最小化窗口向下以在需要时最大化它吗?
我接受任何建议!
最后,我使用了此选项:单击以最小化时,我只是重新定位表单并调整其大小。 也许这是一个简单且手动的选项,并且可以肯定这将是更好的方法,但这为我提供了我现在需要的东西。
@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.