一个form1 当它为关闭状态时,在另一个form2 中要判断form1现在是不是为打开状态,
 我用form1.visible来判,但用到
  if(form1.visible=true) then
时发现form1被load了。
问题: 怎样使用,既能判form1是否打开,又能不使form1被加载?

解决方案 »

  1.   

    模块里设个全局变量,form1加载的时候设定那个全局变量的值,其他程序模块只要检查这个全局变量就好了
      

  2.   

    简单的办法:用全局变量。
    补救的办法:
    Dim aForm As Form
    Dim Loaded As Boolean
    For Each aForm In Forms
    If aForm.Name = "Form1" Then Loaded = True
    Next
    Debug.Print Loaded
      

  3.   

    'TRUE 窗体已加载,FALSE 未加载Function ChkFrm(FrmName As String) As Boolean
            Dim Frm As Form
            
            For Each Frm In Forms
                If UCase$(Frm.Name) = UCase$(FrmName) Then
                   ChkFrm = True
                   Exit Function
                End If
            Next
            ChkFrm = False
    End Function