如何在全屏显示另一个MDI孩子的MDI孩子 - 内部父母表格

时间:2015-06-04 05:53:29

标签: vb.net mdi

我正在使用MDI应用程序,我想知道在全屏主窗口中打开子窗体的子窗体的最佳方法是什么?其中一些子表单是根据实例创建的,因此每次打开实例时我都不知道如何引用父表单。

例如,我有我的主要父表格(frmMain)。 然后,我使用以下代码打开子表单(Form2):

frmMain:

Dim frm As New Form2
frm.MdiParent = Me
frm.WindowState = FormWindowState.Maximized
frm.Show()

窗体2:

Private Sub frmAssetTracker_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    fMain = DirectCast(Me.MdiParent, frmMain)

    Me.MaximizeBox = False
    Me.WindowState = FormWindowState.Normal
    Me.WindowState = FormWindowState.Maximized
End Sub

这样可以正常工作,并在父表单中为我提供全屏子项。但是,如何在全屏等情况下打开Form2的子项?

那么,我如何使用frmMain作为父级从Form2打开Form3?

更新 我的frmMain在窗口顶部有一个停靠元素,为整个应用程序提供一个按钮栏。当我使用下面的代码从Parent打开子表单时,它最大化了停靠元素周围的表单。然而,当我尝试打开一个孩子形式的孩子时,它会创造一个“跳跃”的孩子。形式从正常状态变为最大化状态。如果我删除Me.WindowState = FormWindowState.Normal,则子表单位于父表单的停靠元素后面。

1 个答案:

答案 0 :(得分:0)

尝试在Form2中使用代码

Dim frm As New Form3
frm.MdiParent = Me.MdiParent
frm.WindowState = FormWindowState.Maximized
frm.Dock=DockStyle.Fill
frm.Show()