我的VB作品|初学指南|编程技巧|源码下载|工具控件|VBA应用|Blog|【电信线路】|【网通线路】
   位置: VB知识库 >> 编程技巧 >> COM >> 正文
最新调查
    你是怎样知道VB知识库的?
通过搜索引擎
即时通讯工具
朋友介绍
友情链接
其它

  

频道统计
Visual Basic COM基础之事件[六][VB知识库-Visual Basic Knowledge base]
Visual Basic COM基础之事件[六][VB知识库-Visual Basic Knowledge base]
 更新时间:2008-3-23 14:31:58  点击数:8
【字体: 字体颜色

相对来说,事件的使用是比较简单的。在使用前,我们必须先定义该事件,这就意味着通知Visual Basic什么事件被调用。一个事件可能有自己的参数,例如,一个Command按钮有一个Click(单击)事件,它没有参数。另外,文本编辑框有一个KeyPress事件,它通过一个叫"KeyAscii"的值来处理相关内容。 hj9Linux联盟
hj9Linux联盟
hj9Linux联盟
hj9Linux联盟
   定义一个事件是在一个类的通用声明部分添加类似下面的代码: hj9Linux联盟
hj9Linux联盟
Public Event MyEventName(PossArguments As String, Etc As Variant)
hj9Linux联盟
   然后在代码调用RaiseEvent方法来激发一个事件。就像下面的代码一样: hj9Linux联盟
hj9Linux联盟
RaiseEvent MyEventName("PossArgs", "Etc")
hj9Linux联盟
   为了更好地说明上述添加和激发事件的过程,我们举一个例子。首先,定义一个事件hj9Linux联盟
hj9Linux联盟
   在CDog类的通用声明部分添加下列代码: hj9Linux联盟
hj9Linux联盟
Public Event Awake()
hj9Linux联盟
   在CDog类中添加Sleep子过程: hj9Linux联盟
hj9Linux联盟
Public Sub Sleep() hj9Linux联盟
hj9Linux联盟
  Dim i As Long hj9Linux联盟
  For i = 1 To 1000000 hj9Linux联盟
   DoEvents: DoEvents: DoEvents hj9Linux联盟
   exit hj9Linux联盟
   RaiseEvent Awake hj9Linux联盟
End Sub hj9Linux联盟
hj9Linux联盟
   代码中,一开始做一些1000000次无用的循环,计算机短暂停顿后,Sleep子过程激发Awake事件hj9Linux联盟
hj9Linux联盟
   但Awake事件产生后,我们应该让程序作相应的反应呢?当然,利用命令按钮是最简单的,只要在代码窗口的列表中选择命令按钮对象。 hj9Linux联盟
hj9Linux联盟
   但是那样的话,我们必然需要一个控件,而且所见的内容都在表单上。这里我们纯粹使用相应的代码,并且是不可见的。 hj9Linux联盟
hj9Linux联盟
   当然用代码来接收事件,还需要额外的操作: hj9Linux联盟
hj9Linux联盟
   在表单代码窗口中的通用声明部分,添加下列代码: hj9Linux联盟
hj9Linux联盟
Dim WithEvents MyDog As CDog
hj9Linux联盟
   该代码不同于以前的MyDog声明,它有个关键词WithEvents用来通知Visual Basic该对象可以按收任何事件,而且该对象必须接收事件hj9Linux联盟
hj9Linux联盟
   删除命令按钮中的所有代码;并在Command1中添加下列代码: hj9Linux联盟
hj9Linux联盟
Set MyDog = New CDog hj9Linux联盟
MyDog.Name = "Billy" hj9Linux联盟
MyDog.Bark hj9Linux联盟
MyDog.Sleep
hj9Linux联盟
   该代码简单地将MyDog设置成CDog的一个新的实例,设置Name后,调用Bark,最后运行Sleep子过程。 hj9Linux联盟
hj9Linux联盟
   现在添加一些代码来相应Awake事件hj9Linux联盟
hj9Linux联盟
   在Form代码窗口中,从对象下拉列表中选择"MyDog"; hj9Linux联盟
hj9Linux联盟
   在"MyDog"的"Awake"事件中,添加下列代码: hj9Linux联盟
hj9Linux联盟
  Private Sub MyDog_Awake() hj9Linux联盟
hj9Linux联盟
    MsgBox "Your pooch has awoken!" hj9Linux联盟
hj9Linux联盟
   End Sub
hj9Linux联盟
   好了,现在就可以测试了。 hj9Linux联盟
hj9Linux联盟
   按F5运行程序; hj9Linux联盟
hj9Linux联盟
   单击Command按钮; hj9Linux联盟
hj9Linux联盟
   这样,当小狗Bark后,开始打盹,最后结束时还被你叫醒。真是神奇!
至少要成为本站的注册会员才能下载! 注册点我!
  • 上一篇: Visual Basic COM基础之子过程函数和参数[五]
  • 下一篇: Visual Basic COM基础之可重用性[七]
  • 发表评论   告诉好友   打印此文  收藏此页  关闭窗口  返回顶部
    热点文章
     
    推荐文章
     
    相关文章
    网友评论:(只显示最新5条。)
    河北宝宝网河北教育网址导航VB知识库点击申请点击申请点击申请点击申请点击申请点击申请点击申请
    点击申请点击申请点击申请点击申请点击申请点击申请
    Copyright© 2008 vbkbase.com All Rights Reserved QQ群:54150844
    冀ICP备08000517号