• 您的位置我爱Aspx >> VB.Net >> Henry的VB.NET之旅(十五)—动态事件处理方法
  • Henry的VB.NET之旅(十五)—动态事件处理方法

  • 作者:aspxer  来源:internet  日期:2007-5-20 13:59:40  关键字:.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

    我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:Henry的VB.NET之旅(十四)—动态关联事件与处理程序
    下一篇:.net入门之VB篇:Visual Basic.Net中的文件操作(一)