VB中的MDI主窗体
1、如何检查是否已经打开子窗体;
2、如何关闭全部已打开的子窗体;

解决方案 »

  1.   

    判断是否打开了某个窗体Public Function IsFormLoaded(strForm As String) As Boolean
        Dim frm As Form
        
        IsFormLoaded = False
        For Each frm In Forms
            If frm.Name = strForm Then
                IsFormLoaded = True
                Exit Function
            End If
        Next
    End Function关闭所有子窗体Dim frm As Form
    For Each frm In Forms
        If frm.Name <> "主窗体名字" Then
        Unload frm
    End If
    Next
      

  2.   

    判断一个窗体是否是子窗体Public Function IsChildForm(strForm As String) As Boolean
        Dim frm As Form
        
        IsChildForm= False
        For Each frm In Forms
            If frm.Name = strForm and frm.MDIChild = True Then
                IsChildForm= True
                Exit Function
            End If
        Next
    End Function
      

  3.   

    1、如何检查是否已经打开子窗体;同意楼上的 
    2、如何关闭全部已打开的子窗体; Private Sub MDIForm_Unload(Cancel As Integer)
        Do While Not (Me.ActiveForm Is Nothing)
            Unload Me.ActiveForm
        Loop
    End Sub
    这是本人在MDI窗体卸载之前用的,也可自己修改成一个函数
      

  4.   

    在MDI窗体加个菜单->窗口,名称比如是:mnuWnd,勾选显示窗口选项即可看到窗体列表关闭 unload me.activeForm