我的一个办法:在Form1中: 在Form_Load事件中写入一句:MDIForm1.Tag="1"在MDIForm1中: 编写按钮的单击事件: if Me.Tag="1" then Unload Form1 Me.Tag="0" End If另外,MDIForm1.Tag也可用一个全局变量来代替!
if MDIForm1.ActiveControl is form1 then unload form1
if MDIForm1.ActiveControl is form1 then unload form1
为什么MDIForm1.ActiveControl =nothing
dim frm as form for each frm in forms if frm.name="form1" then unload frm end if next
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
鄙视 viena(维也纳nn-实心木头人) ,抄袭我的错误 应该是 if MDIForm1.ActiveForm is form1 then unload form1
很简单的: if me.name="form1" then unload me
哦,看错了,是父窗体的菜单呀, 应该是:if Me.ActiveForm.Name = "form1" then Then Unload Me.ActiveForm窗体名要注意大小写哦。
在Form_Load事件中写入一句:MDIForm1.Tag="1"在MDIForm1中:
编写按钮的单击事件:
if Me.Tag="1" then
Unload Form1
Me.Tag="0"
End If另外,MDIForm1.Tag也可用一个全局变量来代替!
if frm.name="form1" then
unload frm
end if
next
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
应该是 if MDIForm1.ActiveForm is form1 then unload form1
if me.name="form1" then unload me
应该是:if Me.ActiveForm.Name = "form1" then Then Unload Me.ActiveForm窗体名要注意大小写哦。