• 您的位置我爱Aspx >> VB.Net >> VB.net是怎样做到的(四、五)
  • VB.net是怎样做到的(四、五)

  • 作者:aspxer  来源:internet  日期:2007-5-20 13:59:07  关键字:.net
  • VB.net是怎样做到的(四、五)

    et是怎样做到的(三)——Handles和WithEvents

    VB除了可以用C#那样的方法来处理事件响应以外,还有从VB5继承下来的独特的事件处理方式——WithEvents。

    我喜欢称这种事件处理方式为静态的事件处理,书写响应事件的方法时就已经决定该方法响应的是哪一个事件,而C#则是在代码中绑定事件的。比如下面这个最简单的例子:

    Public Class HandlerClass

    Public WithEvents MyObj As EventClass

    Private Sub MyObj_MyEvent(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyObj.MyEvent

    MsgBox("hello")

    End Sub

    Public Sub New()

    MyObj = New EventClass

    End Sub

    End Class

    代码中用到的EventClass是这样的:

    Public Class EventClass

    Public Event MyEvent As EventHandler

    Protected Overridable Sub OnMyEvent(ByVal e As EventArgs)

    RaiseEvent MyEvent(Me, e)

    End Sub

    Public Sub Test()

    OnMyEvent(New EventArgs)

    End Sub

    End Class

    我们来复习一下,这段代码隐式地给EventClass编写了两个方法——Add_MyEvent(EventHandler)和Remove_MyEvent(EventHandler),实际上任何使用事件的上下文都是通过调用这两个方法来绑定事件和解除绑定的。C#还允许你书写自己的事件绑定/解除绑定的代码。

    我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:VB.net是怎样做到的(一、二)
    下一篇:VB.NET是怎样做到的(五、六)