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

 

 

你可能感兴趣的:(基础语法)