Visual Basic COM基础讲座之事件
2008-02-23 06:47:42来源:互联网 阅读 ()
定义一个事件是在一个类的通用声明部分添加类似下面的代码:
Public Event MyEventName(PossArguments As String, Etc As Variant)
然后在代码调用RaiseEvent方法来激发一个事件。就像下面的代码一样:
RaiseEvent MyEventName("PossArgs", "Etc")
为了更好地说明上述添加和激发事件的过程,我们举一个例子。首先,定义一个事件:
在CDog类的通用声明部分添加下列代码:
Public Event Awake()
在CDog类中添加Sleep子过程:
Public Sub Sleep()
Dim i As Long
For i = 1 To 1000000
DoEvents: DoEvents: DoEvents
exit
RaiseEvent Awake
End Sub
代码中,一开始做一些1000000次无用的循环,计算机短暂停顿后,Sleep子过程激发Awake事件。
但Awake事件产生后,我们应该让程序作相应的反应呢?当然,利用命令按钮是最简单的,只要在代码窗口的列表中选择命令按钮对象。
但是那样的话,我们必然需要一个控件,而且所见的内容都在表单上。这里我们纯粹使用相应的代码,并且是不可见的。
当然用代码来接收事件,还需要额外的操作:
在表单代码窗口中的通用声明部分,添加下列代码:
Dim WithEvents MyDog As CDog
该代码不同于以前的MyDog声明,它有个关键词WithEvents用来通知Visual Basic该对象可以按收任何事件,而且该对象必须接收事件。
删除命令按钮中的所有代码;并在Command1中添加下列代码:
Set MyDog = New CDog
MyDog.Name = "Billy"
MyDog.Bark
MyDog.Sleep
该代码简单地将MyDog设置成CDog的一个新的实例,设置Name后,调用Bark,最后运行Sleep子过程。
现在添加一些代码来相应Awake事件。
在Form代码窗口中,从对象下拉列表中选择"MyDog";
在"MyDog"的"Awake"事件中,添加下列代码:
Private Sub MyDog_Awake()
MsgBox "Your pooch has awoken!"
End Sub
好了,现在就可以测试了。
按F5运行程序;
单击Command按钮;
这样,当小狗Bark后,开始打盹,最后结束时还被你叫醒。真是神奇!
上一篇: VB COM编程基础之子过程函数和参数
下一篇: Visual Basic COM基础之更多属性
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:FTP程序
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash