高手论声明VB.NET事件

开发 后端
如果在运行线程后采用循环查询的方法显然影响了交互性,VB.NET事件是从线程方法返回数据的好方法,文章有详细的介绍。

VB.NET经过长时间的发展,很多用户都很了解VB.NET事件了,这里我发表一下个人理解,和大家讨论讨论。调用了线程的start方法,并不能确保其中的方法马上执行完,而要得到数据访问的结果又必须等其中的方法执行完毕。

#T#如果在运行线程后采用循环查询的方法显然影响了交互性,事件是从线程方法返回数据的好方法。只要在线程方法所在的类中定义一个事件,在线程方法中发出事件,而在窗体类中生成代理。线程是操作系统分配处理器时间的基本单元,线程可以在单个执行线程执行的同时运行多个活动,支持抢先多任务处理的操作系统可以创建多个线程并通过时间片轮转的方式使它们同时运行。在需要良好用户交互的应用以及与网络和数据库进行通讯的应用中,使用多线程能提供良好的交互体验,能对用户的要求做出快速的反应。

首先在dealDataBase类声明后加进VB.NET事件:

  1. Public Class dealDataBase  
  2. Public Event GetDataComplete(ByVal e As DtatTable)  
  3. …  
  4. End Class 

在类dealDataBase的GetDataFromDataBase()方法中加入发出事件的代码,放在m_sqlDataAdapter.Fill(m_table)后:

  1. Public sub GetDataFromDataBase()  
  2. …  
  3. m_sqlDataAdapter.Fill(m_table)  
  4. RasiseEvent GetDataComplete(m_table)  
  5. …  
  6. End Sub 

下面在窗体类中生成代理

  1. Private Sub dealData (ByVal e As DataTable)  
  2. '处理数据表  
  3. End Sub 

在创建线程并运行线程的代码中进行事件连接,事件连接代码放在运行线程前, dealDataBase类实例化后:

  1. AddHandler myDB. GetDataComplete,AddressOf dealData 

这样,当线程方法执行完毕就会发出事件,而dealData方法会响应VB.NET事件并做出处理。

责任编辑:田树 来源: 博客
相关推荐

2010-01-22 10:41:33

VB.NET声明结构

2010-01-21 16:37:56

VB.NET变量声明

2009-10-23 17:03:18

VB.NET事件编程

2010-01-12 18:12:58

VB.NET事件

2009-10-12 12:54:58

VB.NET声明API

2011-05-20 16:34:35

VB.NET

2009-11-04 09:32:12

VB.NET Auto

2009-10-28 13:35:25

VB.NET共享成员

2009-10-29 09:40:35

VB.NET Text

2009-11-03 16:43:54

VB.NET拖放文件

2010-01-19 16:55:46

VB.NET声明语句

2009-10-27 11:39:03

VB.NET事件处理程

2010-01-15 15:03:23

VB.NET对象变量声

2010-01-11 10:08:47

VB.NET事件通道

2011-06-16 15:14:17

VB.NET事件委托

2010-01-22 17:22:49

VB.NET事件访问器

2009-11-03 11:06:40

VB.NET事件

2009-10-20 14:03:48

VB.NET数组声明VB.NET数组初始化

2009-10-30 15:31:58

VB.NET播放Fla

2010-01-20 10:56:14

VB.NET Main
点赞
收藏

51CTO技术栈公众号