'再加一个全局变量Loaded,指明Form2是否被卸载'Form2 Option Explicit Private Sub Command1_Click() succeed = True End SubPrivate Sub Form_Load() loaded = True End SubPrivate Sub Form_Unload(Cancel As Integer) loaded = False End Sub'Form1 Option ExplicitPrivate Sub Command1_Click() Dim a As Integer Form2.Show While loaded = True DoEvents Wend If succeed = True Then a = MsgBox("操作成功!") Else a = MsgBox("操作失败!") End If End Sub
直接用form不是一样的吗?我感觉更方便!
Option Explicit
Private Sub Command1_Click()
succeed = True
End SubPrivate Sub Form_Load()
loaded = True
End SubPrivate Sub Form_Unload(Cancel As Integer)
loaded = False
End Sub'Form1
Option ExplicitPrivate Sub Command1_Click()
Dim a As Integer
Form2.Show
While loaded = True
DoEvents
Wend
If succeed = True Then
a = MsgBox("操作成功!")
Else
a = MsgBox("操作失败!")
End If
End Sub
如果想显示一个模式窗口,那么就要把form2.MdiChild 设为False
然后调用Form2.Show vbModal,这样他会等到Form2的Unload如果还想让Form2是子窗口,那么建议你使用消息来处理
或者在Form1里定义一个Public的函数,在Form2的Unload事件里直接调用