日记大全

日记大全 > 句子大全

用WithEvents语句声明实例化过程中类对象变量

句子大全 2023-07-14 07:55:02
相关推荐

在上几讲中,我们首先定义了类,命名了类的名称,同时定义了类的事件,在事件的定义中我们知道,事件指的是类引发的一个调用;是对象的响应。我们把这个定义再确切一下,事件指的是类引发的一个调用;是类实例化后对象的响应。我们把后面的对象变更成实例化后对象,这样就更好理解了。在命名一个类,并声明了类所响应的事件,但在实际应用的时候必须要把这个类实例化之后才可以用。

引发事件的实例化类对象叫做事件源,为了处理事件源所引发的事件,可以用WithEvents 关键字声明实例化类对象变量。这句话的意思我们再理解一下,在实际的应用中,我们是面对对象的,这也就是面向对象的编程的意义。类对象作为变量出现时,可以响应某个事件,在声明这种对象变量的时候,我们采用的声明语句是WithEvents。

一使用WithEvents关键字的注意事项:

(1)WithEvents 变量不能是派生对象变量。也就是说,不能把它声明为 As Object(当声明该变量时必须指定类名)。

Eg:错误的写法:Dim WithEvents a as Object

正确的写法:Dim WithEvents a as Text

(2)不能把 WithEvents 变量声明为 As New,即 WithEvents 关键字和 New 关键字不能同时使用。

(3)不能在标准模块中声明 WithEvents 变量。只能在类模块、窗体模块以及其它定义类的模块中声明。

(4)虽然WithEvents是Dim,Public,Private语句的关键字,但是不能在过程里面中用WithEvents关键字进行对象变量的声明,只能在通用里使用。

(5)只能使用 WithEvents 声明单个变量,不能声明数组。

实例讲解:

今日我们仍以上讲的例子进行讲解,在上一讲中我们定义了mytime类,在这个类中,我们声明了两个事件如下,一个是UpdateTime,一个是dabiao。

Option Explicit

Public Event UpdateTime(ByVal mynow As Double)

Public Event dabiao()

这两个事件是类mytime的事件,要实例化mytime形成对象后要响应的事件。那么实例化mytime形成的对象是什么对象呢?

我窗体代码中我们进行了withevents的声明:

Private WithEvents mText As mytime

也就是说在窗体中要实例化MYTIME 形成类对象为mText,这个对象是在窗体的构建中实现的,如下面的窗体代码截图:

在窗体的构建函数中利用了Set mText = New mytime把类这个灵魂实例化为肉身对象mText了。

这样,我们就可以用这个对象来响应事件UpdateTime,dabiao了,我们看看窗口提示的事件截图:

提示了两个事件,可以利用。

到这里,大家已经逐渐地了解了类的相关知识,比较抽象,但不是很难理解,今后的讲解中将利用这些知识点,实现我们的具体应用。

今日内容回向:

1 withevents 的意义是什么?

2 再次理解什么是事件?

--------------------------------------------------------------------------------------------------------------------------------

学习有用的东西需要一种不知足的精神,知道什么是自己所需要的,不要蜷缩在一小块自认为天堂的世界里。待到暮年时再去做自欺欺人的言论。要努力提高自己,有一颗充满生机的心灵,把握现在,这才是进取。越是有意义的事情,困难会越多。愿力决定始终,智慧决定成败。不管遇到什么,都是风景。看淡纷争,看轻得失。茶,满也好,少也好,不要计较;浓也好,淡也好,其中自有值得品的味道。去感悟真实的时间,静下心,多学习,积累福报。而不是天天混日子,也不是天天熬日子。在后疫情更加严峻的存量残杀世界中,为自己的生存进行知识的储备,特别是新知识的储备。

VBA是利用Office实现自己小型办公自动化的有效手段,我根据自己20多年的VBA实际利用经验,现在推出了五部VBA教程。第一:VBA代码解决方案,是VBA中各个知识点的讲解,覆盖绝大多数的VBA知识点;第二:VBA数据库解决方案,是数据处理的专业利器,详细的介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作。第三:VBA数组与字典解决方案,讲解VBA中的数组和字典的利用。字典是VBA代码水平提高的手段,值得深入的学习。第四:VBA代码解决方案之视频,是专门面向初学者的视频讲解,可以快速入门,更快的掌握这门技能。第五:VBA中类的解读和利用,是一部高级教程,对于自己理论的提高很有益处。上述教程可以根据1,3,2,5或者是4,3,2,5的顺序逐渐深入的学习和利用。

在取代OFFICE新的办公软件没有到来之前,谁能在数据处理方面做到极致,谁就是王者。其中登峰至极的技能非VBA莫属!

分享成果,随喜正能量

阅读剩余内容
网友评论
相关内容
拓展阅读
最近更新