如何给VB.NET窗体添加子窗体?

2024-11-23 04:39:16
推荐回答(3个)
回答1:

直接添加一个MID父窗体或在已有窗体的属性中找到IsMDIContainer属性,然后设置为True,然后创建第二个窗体 ,需要加载子窗体的时候:


Dim NewMDIChild As New Form2


NewMDIChild.MdiParent = Me


NewMDIChild.Show()

Public Shared Sub CheckMDIChildForm(ByVal MDIForm As Windows.Forms.Form, ByVal MDIChildForm As Windows.Forms.Form, ByVal MDIChildFormName As String)
        If MDIForm.MdiChildren.Length < 1 Then
            '如果没有任何一个MDI子窗体,则创该MDI子窗体的窗体实例
            Dim MDIChildFrm As Windows.Forms.Form = MDIChildForm ' 定义MDI子窗体
            MDIChildFrm.MdiParent = MDIForm '指定父窗体
            MDIChildFrm.Show() '打开窗体
            Exit Sub
        Else
            Dim x As Integer
            Dim frmyn As Boolean
            For x = 0 To (MDIForm.MdiChildren.Length) - 1
                Dim tempChild As Windows.Forms.Form = CType(MDIForm.MdiChildren(x), Windows.Forms.Form)
                If tempChild.Name = MDIChildFormName Then
                    '检测到有该MDI子窗体,设为激活 并退出循环
                    frmyn = True
                    tempChild.BringToFront()
                    Exit For
                Else
                    frmyn = False
                End If
            Next
            If Not frmyn Then
                '在打开的窗体中没检测到则新建
                Dim MDIChildFrm As Windows.Forms.Form = MDIChildForm ' 定义MDI子窗体
                MDIChildFrm.MdiParent = MDIForm '指定父窗体
                MDIChildFrm.Show() '打开窗体
            End If
        End If
    End Sub

回答2:

直接添加一个MID父窗体或在已有窗体的属性中找到IsMDIContainer属性,然后设置为True,然后创建第二个窗体 ,需要加载子窗体的时候:
Dim NewMDIChild As New Form2
NewMDIChild.MdiParent = Me
NewMDIChild.Show()

回答3:

MDI窗体才可以添加子窗体,添加后 假如为Form1
直接写Form1.MdiParent=me
Form1.WindowState=System.FormWindowState.Max......
Form1.Show()