台湾“大选”马英九得票破700万自行宣布当选!
当前位置:金诺VB园文章教程技巧文章 → VB多窗体退出代码

VB多窗体退出代码

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2008-1-30 23:33:37

        当所有窗体都已关闭并且没有代码正在执行时,事件驱动的应用程序就停止运行。如果最后一个可见窗体关闭时仍有隐藏窗体存在,那么,应用程序表现为已经结束了(因为没有可见的窗体),可实际上却仍在继续运行,直至所有隐藏窗体都关闭为止。之所以出现这种情况,是因为对已卸载窗体的属性或控件的任何访问,都将导致隐含地、不予显示地加载那个窗体。
为了避免出现这类问题,最好的办法是确保所有的窗体都已卸载,可以使用Forms集合和Unload语句。

如果应用程序使用多窗体,通常把代码放入主窗体的Unload事件过程可以卸载这些窗体。可以使用Forms集合确保找到并关闭所有窗体。

正确的方法是这样:
定义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