Vb.net MDI子项仅在Windows状态最大化时可见
我为我的mdi孩子做了一个自定义边框。 Mdi子窗体属性:Vb.net MDI子项仅在Windows状态最大化时可见,vb.net,size,zero,formborderstyle,Vb.net,Size,Zero,Formborderstyle,我为我的mdi孩子做了一个自定义边框。 Mdi子窗体属性: FormBorderStyle=无 Controlbox=False Text=“” WindowState=最大化 首先,当我将Windowstate的属性设置为Normal时,我的mdi子对象不会惊吓,我猜它的大小是0;那么0。 我尝试在Form_Load方法中设置大小,但仍然没有改变。 当我将FormBorderStyle更改为FixedSingle时,我可以看到非常小的表单,只有足够的空间双击标题栏。然后形式真的最大化了 我
- FormBorderStyle=无
- Controlbox=False
- Text=“”
- WindowState=最大化
也许正因为如此,只有当父窗体最大化时,您才能看到MDI窗体。
我建议您编写“WindowState=Normal”,并在表单加载中编写“MDIForm.Size=ParentForm.Size”或(类似的内容)。尝试此代码-保证工作:
Public frmContainer As FormContainer
Public frmChild As FormChild
Public Sub OpenfrmChild()
If Not IsNothing(frmChild) AndAlso frmChild.Visible = False Then 'This applies after form has been closed
frmChild = Nothing '(frmChild does not test as nothing after being closed)
frmChild = New FormChild
frmChild.MdiParent = frmContainer
frmChild.Show()
ElseIf IsNothing(frmChild) Then 'This applies the first time form is opened
Try
frmChild = New FormChild
frmChild.MdiParent = frmContainer
frmChild.Show()
Catch ex As Exception
ErrorMsg(ex.Message() & "Description: " & ex.ToString)
End Try
Else 'This applies if form is visible and user clicks the button on FormChild again
frmChild.BringToFront()
End If
frmChild.WindowState = FormWindowState.Maximized
frmChild.Dock = DockStyle.Fill
End Sub
这些属性对于MDI子窗口无效,它必须具有可调整大小的边框。Winforms忘记抛出异常。