1. 程式人生 > >VB.net中,給類新增事件

VB.net中,給類新增事件

定義一個全新的類

Public Class TestEvent
    Public Event testEvent_Name(ByVal testString As String) '定義一個事件 ,差不多像一個函式宣告,也想一個委託宣告


    Public Sub testSub(ByVal testString1 As String)
        MsgBox("testEvent 類的測試過程,傳遞進來的引數為: " & testString1)
        RaiseEvent testEvent_Name(testString1) '引發事件函式,並且給時間函式賦值
    End Sub

End Class

在窗體裡的程式

Public Class Form1

    Public WithEvents testEvent1 As New TestEvent() 'WithEvents在窗體上例項化物件

'類的事件響應函式
    Private Sub testEvent1_testEvent_Name(testString As String) Handles testEvent1.testEvent_Name
        MsgBox("事件發生:傳遞過來的引數:" & testString)
    End Sub

'按鈕的單擊事件
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        testEvent1.testSub("ee")
    End Sub
End Class

××××××××××××××××××××××××

 Public  testEvent1 As New TestEvent() ' 這是一個常規在類裡面,函式或過程外面例項化一個類的宣告方式

 Public WithEvents testEvent1 As New TestEvent() '添加了WithEvents 意味著,這個例項化的類 裡的事件也是起作用的

×××××××××××××××××

Handles Button1.Click

Handles testEvent1.testEvent_Name

此處都有 Handles ,如果把Handles 去掉了,就是一個普普通通的過程或是函式。

Handles的作用在於,配合該過程配合哪一個過程的使用。

××××××××××××8

Handles關鍵字可以關聯多個事件,如:

handles   Button2.click, Button3.Click

*****************

在某一個函式裡面新增如下

AddHandler button4.click, AddressOf testSubHandle
 

這樣我們就不用去寫button4 的單機函式,就可以在button觸發單擊函式的時候,直接去執行testSubHandle