高手论声明VB.NET事件
2012-10-31 18:24
239 查看
如果在运行线程后采用循环查询的方法显然影响了交互性,VB.NET事件是从线程方法返回数据的好方法,文章有详细的介绍。
AD:
VB.NET经过长时间的发展,很多用户都很了解VB.NET事件了,这里我发表一下个人理解,和大家讨论讨论。调用了线程的start方法,并不能确保其中的方法马上执行完,而要得到数据访问的结果又必须等其中的方法执行完毕。
如果在运行线程后采用循环查询的方法显然影响了交互性,事件是从线程方法返回数据的好方法。只要在线程方法所在的类中定义一个事件,在线程方法中发出事件,而在窗体类中生成代理。线程是操作系统分配处理器时间的基本单元,线程可以在单个执行线程执行的同时运行多个活动,支持抢先多任务处理的操作系统可以创建多个线程并通过时间片轮转的方式使它们同时运行。在需要良好用户交互的应用以及与网络和数据库进行通讯的应用中,使用多线程能提供良好的交互体验,能对用户的要求做出快速的反应。
首先在dealDataBase类声明后加进VB.NET事件:
在类dealDataBase的GetDataFromDataBase()方法中加入发出事件的代码,放在m_sqlDataAdapter.Fill(m_table)后:
下面在窗体类中生成代理
在创建线程并运行线程的代码中进行事件连接,事件连接代码放在运行线程前, dealDataBase类实例化后:
这样,当线程方法执行完毕就会发出事件,而dealData方法会响应VB.NET事件并做出处理。
AD:
VB.NET经过长时间的发展,很多用户都很了解VB.NET事件了,这里我发表一下个人理解,和大家讨论讨论。调用了线程的start方法,并不能确保其中的方法马上执行完,而要得到数据访问的结果又必须等其中的方法执行完毕。
如果在运行线程后采用循环查询的方法显然影响了交互性,事件是从线程方法返回数据的好方法。只要在线程方法所在的类中定义一个事件,在线程方法中发出事件,而在窗体类中生成代理。线程是操作系统分配处理器时间的基本单元,线程可以在单个执行线程执行的同时运行多个活动,支持抢先多任务处理的操作系统可以创建多个线程并通过时间片轮转的方式使它们同时运行。在需要良好用户交互的应用以及与网络和数据库进行通讯的应用中,使用多线程能提供良好的交互体验,能对用户的要求做出快速的反应。
首先在dealDataBase类声明后加进VB.NET事件:
Public Class dealDataBase Public Event GetDataComplete(ByVal e As DtatTable) … End Class
在类dealDataBase的GetDataFromDataBase()方法中加入发出事件的代码,放在m_sqlDataAdapter.Fill(m_table)后:
Public sub GetDataFromDataBase() … m_sqlDataAdapter.Fill(m_table) RasiseEvent GetDataComplete(m_table) … End Sub
下面在窗体类中生成代理
Private Sub dealData (ByVal e As DataTable) '处理数据表 End Sub
在创建线程并运行线程的代码中进行事件连接,事件连接代码放在运行线程前, dealDataBase类实例化后:
AddHandler myDB. GetDataComplete,AddressOf dealData
这样,当线程方法执行完毕就会发出事件,而dealData方法会响应VB.NET事件并做出处理。
相关文章推荐
- [VB.NET]form初始化事件的解决方法,高手请进...
- C# 和vb.net事件
- VB.NET 中多个类共用一个事件通道
- Henry的VB.NET之旅(十四)—动态关联事件与处理程序
- [VB.NET]高手写的一句代码,我没见过.请帮我解释解释!!! 谢谢!!!
- [VB.NET]高手帮忙,水晶报表显示在网页上的内容不更新,在线等,只有40分了
- [VB.NET]单击按钮右键事件
- [VB.NET]为什么这样也出错, 高手请看看!
- [VB.NET]如何重载控件中的按钮事件?
- [VB.NET]利用Timer控件的Tick()事件在自定义控件上绘制动画!
- vb.net中的自定义事件
- Henry的VB.NET之旅(十三)—标准事件处理程序
- [VB.NET]vb.net+sql汇总表的问题!!!高手请指教!!!
- [VB.NET]请教高手,如何选中datagrid中的行?
- DataGridView.CellValidating 事件的VB.NET例子
- vb.net动态写入listbox,动态添加事件,实现拖拽
- ADO.NET 開發高手線上教學課程 视频教程 vb讲解
- VB.NET之旅-事件驱动程序设计
- VB.NET 中多个类共用一个事件通道
- Henry的VB.NET之旅(十二)—事件驱动