我有一个问题是在.NET中的mdi父窗体中以最大化状态隐藏mdi子窗体的标题栏。
这就是我在设计和设计方面所拥有的运行:
以下是我的MDI子表单的新():
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
我尝试了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
在设计中,我设置了父属性IsMdiContainer = True
。
我哪里出错或者我错过了什么? 加上儿童标题栏上的这种双按钮真的很奇怪。当我单击其中一个最大化按钮时,我得到了相同的结果: 。
无法点击生成的标题栏按钮。
感谢您的帮助!
答案 0 :(得分:2)
这是你的确切答案。它会解决你的问题。
将MenuStrip添加到MDI表单并使其不可见(Visible = false)
答案 1 :(得分:1)
尝试移动
Me.MaximizeBox = False
到子表格的加载事件,这似乎适用于我的项目。
答案 2 :(得分:0)
为子表单尝试以下设置。
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
答案 3 :(得分:0)
我的工作是: