我爱Aspx >> VB.Net >> Henry的VB.NET之旅(十五)—动态事件处理方法Henry的VB.NET之旅(十五)—动态事件处理方法
ry的VB.NET之旅(十五)—动态事件处理方法
韩睿
“大李哥,”我不免为自己问了如此多的问题而不好意思起来,“您刚才所说的事件的委托是怎么回事呀?”
大李显然是明白我会提问的:“我所说过事件驱动设计中的三要素你还记得吧?”
“当然,就是指对象、事件和事件处理程序。”我流利地回答道。
“对象和事件处理程序我们已经分析过了。要想彻底了解事件驱动程序的来龙去脉,我们必须了解事件的构成。”见到我又一次茫然地摇头,他就接着说,“事件功能是由三个互相联系的元素提供的:提供事件数据的类、事件委托和引发事件的类。我说过,事件就是一个信号,它告知应用程序有重要情况要发生。那么我们可以想象一下,事件要发生,就会含有独特的信息,比如,事件发送源是什么,会发生什么样的事件。提供事件数据的类就是用于记录这些信息的。该类必须从 System.EventArgs 派生出,这个我们已经说过了;事件的委托,这其实我也说过了,就好比是指向事件接收方的一个指针,由于指定对象的事件是独特的,所以它的委托也是事先定义好的,就比如MouseDown事件,它对应的委托就是MouseEventHandler。我们看一下你在代码窗口选Label1对象的MouseDown方法,会自动生成这段空的事件处理程序:
Friend WithEvents Label1 As System.Windows.Forms.Label
Private Sub Label1_MouseDown(ByVal sender As Object, ByVal e As _
System.Windows.Forms.MouseEventArgs) Handles Label1.MouseDown
End Sub
它其实就等同于:
AddHandler Label1.MouseDown, AddressOf Label1_MouseDown
【我对这篇文章有话说?】
.net入门之VB篇:Visual Basic.N..[05-20]
用VB.NET和Excel排生产计划--企业..[05-20]
如何用VB.Net创建一个三层的数据..[05-20]
在IE中使用VS.net WinForm控件[05-20]
在vb.net中实现窗体上回车键代替..[05-20]
用VB.net制作一个小程序(2)[05-20]
用VB.net制作一个小程序(3)[05-20]
用新VB.NET 枚举提高效率[05-20]
在VB.NET中实现拖放操作[05-20]
走近VB.Net(八) 常用语法[05-20]
.net入门之VB篇:Visual Basic.N..[05-20]
用VB.NET和Excel排生产计划--企业..[05-20]
如何用VB.Net创建一个三层的数据..[05-20]
在IE中使用VS.net WinForm控件[05-20]
向Visual Basic程序员介绍泛型(..[05-20]
向Visual Basic程序员介绍泛型(..[05-20]
在vb.net中实现窗体上回车键代替..[05-20]
用VB.net制作一个小程序(2)[05-20]
用VB.net制作一个小程序(3)[05-20]
用新VB.NET 枚举提高效率[05-20]