VB如何判断MDI子窗体是否已经打开,若已经打开,把该窗体设置为当前活动窗口,如果没有打开,则重新打开假设主窗体为MDIFrmmain,有FRM1,FRM2,FRM3,FRM4,FRM5子窗体,当我把5个子窗体都打开了后,如果当前窗体不是FRM1,此时我在菜单中又要调用窗体FRM1,要怎么才能调出?????以下是一个菜单调用窗体FRM1
Private Sub kyfl_Click(Index As Integer)如何调用(打开)窗体FRM1End Sub

解决方案 »

  1.   

    Private Sub kyfl_Click(Index As Integer) 
        if ActiveForm.name<>FRM1 then
           FRM1.SetFocus
        end if
    End Sub
      

  2.   

    Dim frm As Form
    Dim i As Integer
    For Each frm In Forms
    If frm.Name = "frm1" Then
    frm1.SetFocus
    Else
    frm1.show
    End If
    Next
      

  3.   


    会出现“对象变量或WITH块变量未设置”
      

  4.   

    3楼正解!
    Dim aForm As Form
    For Each aForm In Forms
    If aForm.Name = "FormFace" Then
    FormFace.SetFocus
    Else
    Load FormFace
    End If
    Next
      

  5.   

    Dim aForm As FormFor Each aForm In Forms
        If aForm.Name = "FormFace" Then
            FormFace.SetFocus
            exit sub
        end if
    Next
    FormFace.show
      

  6.   

    FormFace.show 要在循环外,不然只要if...then为false,窗体就要load...
      

  7.   

    如果你没有用dim frm as form1 这样的方式打开窗体,那就是这样就可以了。form1.show
    form1.zorder