AddHandler と RemoveHandler
更新 : 2007 年 11 月
AddHandler ステートメントは、イベント ハンドラを指定できるという点で Handles 句と似ています。ただし、AddHandler を RemoveHandler と一緒に使用すると、Handles 句よりも柔軟性が増し、イベントに関連付けられたイベント ハンドラを動的に追加、削除、変更できます。共有イベントまたは構造体からのイベントを処理する場合は、AddHandler を使用する必要があります。
AddHandler は 2 つの引数 (コントロールなどのイベント センダから渡されるイベント名およびデリゲートを評価する式) を使用します。AddressOf ステートメントは常にデリゲートへの参照を返すため、AddHandler を使用する場合はデリゲート クラスを明示的に指定する必要がありません。オブジェクトが発生させたイベントにイベント ハンドラを関連付ける方法を次の例に示します。
AddHandler Obj.XEvent, AddressOf Me.XEventHandler
イベント ハンドラとイベントの接続を解除する RemoveHandler では、AddHandler と同じ構文を使用します。たとえば、次のようにします。
RemoveHandler Obj.XEvent, AddressOf Me.XEventHandler