ステートメントを使用してイベント ハンドラーが追加されている限り、イベント ハンドラーは追加さAddHandler
れたのと同じ順序で呼び出されることが保証されます。一方、Handles
イベント ハンドラー メソッドで修飾子を使用している場合、順序がどうなるかを確認する方法はないと思います。
AddHandler
が呼び出された順序によって決定される順序を示す簡単な例を次に示します。
Public Class FormVb1
Public Class Test
Public Event TestEvent()
Public Sub RaiseTest()
RaiseEvent TestEvent()
End Sub
End Class
Private _myTest As New Test()
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
AddHandler _myTest.TestEvent, AddressOf Handler1
AddHandler _myTest.TestEvent, AddressOf Handler2
_myTest.RaiseTest()
RemoveHandler _myTest.TestEvent, AddressOf Handler1
RemoveHandler _myTest.TestEvent, AddressOf Handler2
End Sub
Private Sub Handler1()
MessageBox.Show("Called first")
End Sub
Private Sub Handler2()
MessageBox.Show("Called second")
End Sub
End Class