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

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值