VB多窗体退出代码出错

来源:百度知道 编辑:UC知道 时间:2024/06/27 06:33:45
下面是我在网上找着的资料,经测试,不行。请高手检查原因。。
::::

当所有窗体都已关闭并且没有代码正在执行时,事件驱动的应用程序就停止运行。如果最后一个可见窗体关闭时仍有隐藏窗体存在,那么,应用程序表现为已经结束了(因为没有可见的窗体),可实际上却仍在继续运行,直至所有隐藏窗体都关闭为止。之所以出现这种情况,是因为对已卸载窗体的属性或控件的任何访问,都将导致隐含地、不予显示地加载那个窗体。
为了避免出现这类问题,最好的办法是确保所有的窗体都已卸载,可以使用Forms集合和Unload语句。例如在主窗体上可以用一个名为cmdQuit的命令按钮来退出程序,如果应用程序只有一个窗体,则Click事件过程可简单为:PrivateSubcmdQuit_Click()UnloadMeEndSub如果应用程序使用多窗体,通常把代码放入主窗体的Unload事件过程可以卸载这些窗体。可以使用Forms集合确保找到并关闭所有窗体。
Private Sub Form_Unload
DimiasInteger
'在窗体集合中循环并卸载每个窗体
Fori=0 to Forms?Count-1
Unload Forms(I)
Next
End Sub
VB多窗体退出代码出错

正确的方法是这样子:
定义FRM为FORM的一个集合,然后退出,并释放内存

Private Sub Form_Unload(Cancel As Integer)
Dim Frm As Form
For Each Frm In Forms
Unload Frm
Set Frm = Nothing
Next
End Sub

unload me
就对了

end