vb 关于关闭窗体啊

来源:百度知道 编辑:UC知道 时间:2024/06/03 15:33:42
想在1窗体下加一个Command4,让他关闭9窗体,10窗体等,就是除了1窗体以外的所有窗体
现在9窗体等窗体的关闭代码都是如下

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Cancel = True
Me.Hide
End Sub
如果把Cancel = True改成Cancel = false,然后
1窗体
Private Sub Command4_Click()
Dim frm As Form
For Each frm In Forms
If frm.Name <> Me.Name Then
Unload frm
End If
Next
End Sub
这样是可以实现的,但我现在不想改Cancel = True,那么1窗体的Command4该如何强制关闭9窗体等

添加一个标准模块,在该模块中public Shut as boolean,然后改一下相应的代码。
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
if Shut =false then
Cancel = True
Me.Hide
end if
End Sub

Private Sub Command4_Click()
Dim frm As Form
Shut=true
For Each frm In Forms
If frm.Name <> Me.Name Then
Unload frm
End If
Next
End Sub
然后要注意的是,除了在Command4_Click()外,其他都要保证Shut为false。

如果直接dim frm As new 9窗体
9窗体.dispose呢?
我是新手,错的话别怪...