VB.NET 父窗口内子窗口运用

    '**************************************************
    '*过程名称:ShowForm
    '*参数说明:MDIChildForm ——需创建实例的窗体
    '*功能说明:创建窗体实例
    '**************************************************

    Private Sub ShowForm(ByVal MDIChildForm As Form)
        Dim MDIChildFrm As Form = MDIChildForm
        MDIChildFrm.MdiParent = Me ' 定义MDI子窗体
        MDIChildFrm.Show() '打开窗体
    End Sub

    '********************************************************************************
    '*过程名称:CheckForm
    '*参数说明:MDIChildForm——需检测的窗体;MDIChildFormName ——检测窗体的名字
    '*功能说明:首先检测是否有MDI子窗体,如果没有,则创该MDI子窗体的窗体实例
    '*          如果有,则检测当中有没有其窗体实例,有则激活;没有则创建其窗体实例
    '*********************************************************************************
    Private Sub CheckForm(ByVal MDIChildForm As Form, ByVal MDIChildFormName As String)
        If Me.MdiChildren.Length < 1 Then
            '如果没有任何一个MDI子窗体,则创该MDI子窗体的窗体实例
            ShowForm(MDIChildForm)
            Exit Sub
        Else
            Dim x As Integer
            Dim frmyn As Boolean
            For x = 0 To (Me.MdiChildren.Length) - 1
                Dim tempChild As Form = CType(Me.MdiChildren(x), Form)
                If tempChild.Name = MDIChildFormName Then
                    frmyn = True
                    '检测到有该MDI子窗体,设为TRUE 并退出循环
                    Exit For
                Else
                    frmyn = False
                End If
            Next
            If frmyn = False Then
                '在打开的窗体中没检测到则新建
                ShowForm(MDIChildForm)
            Else
                '在打开的窗体中检测到则激活
                Dim MDIChildFrm As Form = CType(Me.MdiChildren(x), Form)
                MDIChildFrm.Activate()  '使子窗体激活
            End If
        End If
    End Sub

   Private Sub 测试窗口1ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 测试窗口1ToolStripMenuItem.Click
        Dim frmtest1 As New FormTEST1
        CheckForm(frmtest1, "FormTEST1")
    End Sub

 

你可能感兴趣的:(用户界面设计,vb.net)