linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘网络学院网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > 开发语言 > Basic >
栏目导栏
  php
  JSP
  ASP
  asp.net
  JAVA
  c/c++/c#
  perl
  JavaScript
  Basic
  Delphi
资料搜索
热门文章
·VB读取文件内容的简单方法
·用VB查询数据库记录四法
·Visual Basic串口通信程序设计
·基于VB6.0射击游戏实例
·为你的VB程序程序加密(VB新手
·VB新手常见问题解答
·什么是BASIC语言
·VB的坐标系统综述
·Visual Basic变态用法之函数指
·如何编写高质量的VB代码
·VB COM基础之ActiveX EXEs
·菜鸟入门:VB编程规约
·Visual Basic代码优化的六条定
·在VB应用程序中调用Excel2000
·VB COM基础之创建第一个COM对象
最新文章
·VB2005中开发新一代控制台应用
·VB的坐标系统综述
·变量的作用域与存活期
·VBScript 数据类型
·为你的VB程序程序加密(VB新手
·VB新手常见问题解答
·用VB开发即时战略游戏
·窗体迁移大法
·VB编程的几个API函数的应用问题
·VB编程的一些基础的问题
·利用VB6.0开发基于IIS的应用程
·在VB应用程序中调用Excel2000
·菜鸟入门:VB编程规约
·Visual Basic 安装程序的制作
·.NET和VB编程创建SQL Server
Google
 
Visual Basic COM基础之事件
[ 作者:  加入时间:2007-10-19 13:01:19  来自:Linux联盟收集整理 ]
相对来说,事件的使用是比较简单的。在使用前,我们必须先定义该事件,这就意味着通知Visual Basic什么事件被调用。一个事件可能有自己的参数,例如,一个Command按钮有一个Click(单击)事件,它没有参数。另外,文本编辑框有一个KeyPress事件,它通过一个叫"KeyAscii"的值来处理相关内容。 QPbLinux联盟
QPbLinux联盟
QPbLinux联盟
QPbLinux联盟
   定义一个事件是在一个类的通用声明部分添加类似下面的代码: QPbLinux联盟
QPbLinux联盟
Public Event MyEventName(PossArguments As String, Etc As Variant)
QPbLinux联盟
   然后在代码调用RaiseEvent方法来激发一个事件。就像下面的代码一样: QPbLinux联盟
QPbLinux联盟
RaiseEvent MyEventName("PossArgs", "Etc")
QPbLinux联盟
   为了更好地说明上述添加和激发事件的过程,我们举一个例子。首先,定义一个事件QPbLinux联盟
QPbLinux联盟
   在CDog类的通用声明部分添加下列代码: QPbLinux联盟
QPbLinux联盟
Public Event Awake()
QPbLinux联盟
   在CDog类中添加Sleep子过程: QPbLinux联盟
QPbLinux联盟
Public Sub Sleep() QPbLinux联盟
QPbLinux联盟
  Dim i As Long QPbLinux联盟
  For i = 1 To 1000000 QPbLinux联盟
   DoEvents: DoEvents: DoEvents QPbLinux联盟
   exit QPbLinux联盟
   RaiseEvent Awake QPbLinux联盟
End Sub QPbLinux联盟
QPbLinux联盟
   代码中,一开始做一些1000000次无用的循环,计算机短暂停顿后,Sleep子过程激发Awake事件QPbLinux联盟
QPbLinux联盟
   但Awake事件产生后,我们应该让程序作相应的反应呢?当然,利用命令按钮是最简单的,只要在代码窗口的列表中选择命令按钮对象。 QPbLinux联盟
QPbLinux联盟
   但是那样的话,我们必然需要一个控件,而且所见的内容都在表单上。这里我们纯粹使用相应的代码,并且是不可见的。 QPbLinux联盟
QPbLinux联盟
   当然用代码来接收事件,还需要额外的操作: QPbLinux联盟
QPbLinux联盟
   在表单代码窗口中的通用声明部分,添加下列代码: QPbLinux联盟
QPbLinux联盟
Dim WithEvents MyDog As CDog
QPbLinux联盟
   该代码不同于以前的MyDog声明,它有个关键词WithEvents用来通知Visual Basic该对象可以按收任何事件,而且该对象必须接收事件QPbLinux联盟
QPbLinux联盟
   删除命令按钮中的所有代码;并在Command1中添加下列代码: QPbLinux联盟
QPbLinux联盟
Set MyDog = New CDog QPbLinux联盟
MyDog.Name = "Billy" QPbLinux联盟
MyDog.Bark QPbLinux联盟
MyDog.Sleep
QPbLinux联盟
   该代码简单地将MyDog设置成CDog的一个新的实例,设置Name后,调用Bark,最后运行Sleep子过程。 QPbLinux联盟
QPbLinux联盟
   现在添加一些代码来相应Awake事件QPbLinux联盟
QPbLinux联盟
   在Form代码窗口中,从对象下拉列表中选择"MyDog"; QPbLinux联盟
QPbLinux联盟
   在"MyDog"的"Awake"事件中,添加下列代码: QPbLinux联盟
QPbLinux联盟
  Private Sub MyDog_Awake() QPbLinux联盟
QPbLinux联盟
    MsgBox "Your pooch has awoken!" QPbLinux联盟
QPbLinux联盟
   End Sub
QPbLinux联盟
   好了,现在就可以测试了。 QPbLinux联盟
QPbLinux联盟
   按F5运行程序; QPbLinux联盟
QPbLinux联盟
   单击Command按钮; QPbLinux联盟
QPbLinux联盟
   这样,当小狗Bark后,开始打盹,最后结束时还被你叫醒。真是神奇! Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·JavaScript处理事件:单击事件onClick  (2007-10-30 14:01:38)
 ·点击按钮后,出现事件处理等待过程  (2007-10-29 12:15:40)
 ·解决Oracle缓冲区忙等待事件  (2007-10-29 11:13:04)
 ·给DataGrid单元行添加双击事件  (2007-10-26 11:41:54)
 ·为Java应用程序添加退出事件处理  (2007-10-25 12:53:49)
 ·Java开发中的事件驱动模型实例详解  (2007-10-25 12:28:55)
 ·Java基础:看看流行的和过时的鼠标事件  (2007-10-24 15:51:38)
 ·深入理解.net的事件与委托机制  (2007-10-22 14:35:54)
 ·ASP.NET DEMO 15: 同时支持行单击和双击事件的 GridView/DataGr  (2007-10-22 11:39:07)
 ·Visual Basic COM基础之兼容性  (2007-10-19 13:07:40)