VBA控件教程:卸载未被引用,但有控件仍被引用

2015-06-05 22:59 阅读 259 次 评论关闭

为了进入这一状态,就必须在卸载和释放窗体时保持对其中某一控件的引用:

Dim frm As New Form1
Dim obj As Object
frm.Show vbModal
'模态窗口解体,保存对其上一个控件的引用。
Set obj = frm.Command1
Unload frm
Set frm = Nothing

尽管窗体已卸载,则对它的所有引用就释放。但只要还引用了其中的一个控件,其代码部分将仍然保存在内存中。一旦调用该控件的任一属性或方法,该窗体将被再次加载:

obj.Caption = "Back to life"

模块级变量将保留它们的值,但所有控件的属性被设置为缺省值,好象该窗体是首次加载一样。Form_Load 将被执行。

注意 在 Visual Basic 以前的有些版本中,窗体不能完整地重新初始化,Form_Load 也不会再次执行。

注意 并不是所有的窗体都象 Visual Basic 窗体。例如,Microsoft Office 中提供的 Microsoft Forms,就没有 Load 和 Unload 事件;一旦这些窗体接收到初始化事件,则它们所有的控件就开始存在,并可以使用。

详细信息 有关窗体的内容,在“窗体、控件和菜单”中的“设计窗体”及“创建用户界面”中的“再论窗体”中都作了讨论。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:VBA控件教程:卸载未被引用,但有控件仍被引用 | 猎微网

评论已关闭!