Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Visual Basic > Visual Basic COM基础讲座之事件
【标  题】:Visual Basic COM基础讲座之事件
【关键字】:c,C,事件,Visual,is,Visual Basic,COM,Basic,Visual,Basic,COM
【来  源】:网络

Visual Basic COM基础讲座之事件

Your Ad Here

   定义一个事件是在一个类的通用声明部分添加类似下面的代码:

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编程基础之子过程函数和参数:【上一篇】
VB COM基础讲座之可重用性:【下一篇】
【相关文章】
  • VB COM编程基础之子过程函数和参数
  • Visual Basic COM基础之更多属性
  • Visual Basic COM基础讲座之属性
  • Visual Basic COM基础讲座之类的建立
  • Visual Basic COM基础讲座之简介
  • Hierarchical FlexGrid 控件的使用
  • Hierarchical FlexGrid 控件的使用二
  • Hierarchical FlexGrid 控件的使用三
  • Visual Basic 属性、方法和事件一
  • Visual Basic 6.0 FAQ
  • 【随机文章】
  • Integer GUID和Comb做主键的效率测试(Delphi+access)(二)
  • 宽带上网环境中的Sniffer攻防实例
  • Win DVD新功能试用
  • FreeBSd6.0建立网页服务器
  • 传奇源码分析-客户端(传奇2文件格式分析)
  • [Portal参考手册]Portlet描述文件
  • WINX如何做到可视化界面开发
  • 关于ERP~什么是ERP系统???
  • ubuntu足够安全吗?
  • 也谈Struts
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.