类事件的定义和调用
1. 程序
Public Class UserControl1
Dim A As New 测试类
Private WithEvents MyA As New 测试类
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim myString As String
myString = A.thisProperty
MsgBox(myString)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
A.thisProperty = "NewString"
MsgBox(A.thisProperty)
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
MsgBox(A.myAdd(5, 6))
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
MsgBox(A.myMinus(6, 5))
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
MyA.thisProperty = "EventA"
End Sub
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
MsgBox(MyA.myMinus(6, 3))
End Sub
Private Sub myA_myEvent() Handles MyA.MyEvent
MsgBox("事件被响应了")
MsgBox("响应后A的值=" & A.thisProperty)
End Sub
Private Sub myA_myMethodEvent(A As String, B As Integer) Handles MyA.myMethodEvent
MsgBox(A)
MsgBox(B)
End Sub
End Class
Public Class 测试类
'属性
Private Property thisPropertyA As String = "OK"
Public Property thisProperty As String
Get
MsgBox("你正在取属性=" & thisPropertyA)
Return thisPropertyA
End Get
Set(value As String)
MsgBox("你正在存属性=" & thisPropertyA)
RaiseEvent myEvent()
thisPropertyA = value
End Set
End Property
'方法
Public Function MyAdd(A As Integer, B As Integer)
Return A + B
End Function
Public Function MyMinus(A As Integer, B As Integer)
RaiseEvent MyMethodEvent("First String", 666)
Return A - B
End Function
'事件
Public Event MyEvent()
Public Event MyMethodEvent(ByVal A As String, ByVal B As Integer)
End Class
2. 事件流程
2.1 普通事件
2.2 方法事件
以上