イベントハンドラ。AddHandler と Handles 基本の基本の基(ry
↓こんなイベントを発生するクラスがあったとして、
イベントをハンドルする方法は、
[Visual Basic]Imports System
Imports System.Collections.Generic
' ジェネリッククラスであることに何の意味も無いけど。
Public Class Folder(Of T)
Private _value As T
Public Property Value() As T
Get
Return _value
End Get
Set(ByVal value As T)
_value = value
' イベントを発生させる。
RaiseEvent ValueUpdated(Me, New EventArgs)
End Set
End Property
Public Event ValueUpdated(ByVal sender As Object, ByVal e As EventArgs)
End Class
または、
[Visual Basic]Imports System
Imports System.Collections.Generic
Public Class EventHandleTestClass
' WithEvents 宣言で イベントの発生が通知されるようになるさ。
Private WithEvents eventSender As New Folder(Of Object)
Private Sub eventSender_ValueUpdated(ByVal sender As Object, ByVal e As EventArgs) Handles eventSender.ValueUpdated
Console.WriteLine("ハンド!ハンド!今絶対手で触ったって!")End Sub
End Class
と書ける。
[Visual Basic]Imports System
Imports System.Collections.Generic
Public Class EventHandleTestClass
Private eventSender As New Folder(Of Object)
Public Sub New()
' AddHandler で動的にイベントハンドラを追加するさ。
AddHandler eventSender.ValueUpdated, AddressOf Me.eventSender_ValueUpdatedEnd Sub
Private Sub eventSender_ValueUpdated(ByVal sender As Object, ByVal e As EventArgs)
Console.WriteLine("ハンド!ハンド!今絶対手で触ったって!")
End Sub
End Class