我在隐藏.NET中MDI父表单中处于最大化状态的MDI子表单的标题栏时遇到问题。
这是我在设计和运行时所拥有的:

这是我的MDI子窗体的new():
Public Sub New(ByRef pParent As Form)
MyBase.New()
Me.MdiParent = pParent
fParent = pParent
Me.Text = ""
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
Me.WindowState = FormWindowState.Normal
Me.MinimizeBox = False
Me.MaximizeBox = False
Me.ControlBox = False
Me.ShowIcon = False
Me.ShowInTaskbar = False
Me.SizeGripStyle = Windows.Forms.SizeGripStyle.Hide
Me.Dock = DockStyle.Fill
End Sub
Run Code Online (Sandbox Code Playgroud)
我已经尝试过FormWindowState.Maximized,DockStyle.None但是结果是一样的。
在父容器上,要从子容器更改为另一个容器,请使用以下功能:
Protected Sub SetActiveScreen(ByVal pChildForm As tWizardForm)
If pChildForm Is Nothing Then Exit Sub
If fActiveScreen Is pChildForm Then Exit Sub
Dim hg As New tHourglass
Try
fActiveScreen = pChildForm
fActiveScreen.Show()
fActiveScreen.BringToFront()
For Each aForm In MdiChildren
If aForm IsNot fActiveScreen Then aForm.Hide()
Next
fActiveScreen.Execute()
UpdateCaption()
Finally
hg.Dispose()
End Try
End Sub
Run Code Online (Sandbox Code Playgroud)
在设计时,我已经设置了parent属性IsMdiContainer = True。
我在哪里出错或错过了什么?加上子标题栏上的这种双按钮确实很奇怪。当我单击最大化按钮之一时,最终得到相同的结果:
。
结果标题栏按钮无法单击。
感谢您的任何帮助 !