父窗体中打开很多个子窗体,在父窗体的菜单上有一个按钮,当按下这个按钮后,检测如果当前窗体是 FORM1 则关闭它,如果不是则不执行. 这段代码应怎样实现

解决方案 »

  1.   

    我的一个办法:在Form1中:
    在Form_Load事件中写入一句:MDIForm1.Tag="1"在MDIForm1中:
    编写按钮的单击事件:
    if Me.Tag="1" then
        Unload Form1
        Me.Tag="0"
    End If另外,MDIForm1.Tag也可用一个全局变量来代替!
      

  2.   

    if MDIForm1.ActiveControl is form1 then unload form1
      

  3.   

    if MDIForm1.ActiveControl is form1 then unload form1
      

  4.   

    为什么MDIForm1.ActiveControl =nothing
      

  5.   

    dim frm as form for each frm in forms
     if frm.name="form1" then
       unload frm
     end if
    next
      

  6.   

    Option Explicit
    Private Declare Function GetForegroundWindow Lib "user32" () As Long
    Private Sub Timer1_Timer()
        Dim hWnd As Long
        hWnd = GetForegroundWindow
        If Len(hWnd) <> 0 Then
            Dim frm As Form
            
            For Each frm In Forms
                If frm.hWnd = hWnd Then Unload frm
            Next
        End If
    End Sub
      

  7.   

    鄙视 viena(维也纳nn-实心木头人) ,抄袭我的错误
    应该是 if MDIForm1.ActiveForm is form1 then unload form1
      

  8.   

    很简单的:
    if me.name="form1" then unload me
      

  9.   

    哦,看错了,是父窗体的菜单呀,
    应该是:if Me.ActiveForm.Name = "form1" then Then Unload Me.ActiveForm窗体名要注意大小写哦。