VBA控件教程:处理对象的事件

2015-06-05 00:07 阅读 50 次 评论关闭

引发事件的对象叫做事件源。为了处理事件源所引发的事件,可以用 WithEvents 关键字声明对象类的变量。

本主题继续讨论上面的“声明和引发事件”中开始的 Widget 对象示例。为了处理 Widget 的 PercentDone 事件,将下面的代码放置到 Form1 的声明部分:

Option Explicit
Private WithEvents mWidget As Widget
Private mblnCancel As Boolean

WithEvents 关键字指定:变量 mWidget 将用于处理对象的事件。可以通过提供类名来指定对象类型,该类是创建这个对象的类。

变量 mWidget 是在“Form1”的声明部分所声明的,因为 WithEvents 变量必须是模块级的变量。这是正确的,而不管将它们放置其中的模块类型如何。

变量 mblnCancel 将用于取消 LongTask 方法。

对 WithEvents 变量的一些限制

使用 WithEvents 变量时,应该注意下面这些限制条件:

  • WithEvents 变量不能是派生对象变量。也就是说,不能把它声明为 As Object—当声明该变量时必须指定类名。
  • 不能把 WithEvents 变量声明为 As New。必须明确地创建事件源对象,并将它赋给 WithEvents 变量。
  • 不能在标准模块中声明 WithEvents 变量。只能在类模块、窗体模块以及其它定义类的模块中声明。
  • 不能创建 WithEvents 变量数组。
版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:VBA控件教程:处理对象的事件 | 猎微网
分类:VBA 标签:, , ,

评论已关闭!