AddHandler 및 RemoveHandler
업데이트: 2007년 11월
AddHandler 문과 Handles 절은 둘 다 이벤트를 처리할 이벤트 처리기를 지정할 수 있다는 점에서 비슷합니다. 그러나 AddHandler와 RemoveHandler는 이벤트와 관련된 이벤트 처리기를 동적으로 추가, 제거 및 변경할 수 있으므로 Handles 절보다 좀 더 융통성을 제공합니다. 공유 이벤트나 구조체 이벤트를 처리하려면 AddHandler를 사용해야 합니다.
AddHandler에는 두 가지 인수, 즉 컨트롤 등의 이벤트 전송자에서 보낸 이벤트의 이름과 대리자로 평가되는 식이 사용됩니다. AddressOf 문이 항상 대리자에 대한 참조를 반환하므로 AddHandler를 사용할 때에는 대리자 클래스를 명시적으로 지정하지 않아도 됩니다. 다음 예제에서는 이벤트 처리기와 개체가 발생시킨 이벤트를 연결합니다.
AddHandler Obj.XEvent, AddressOf Me.XEventHandler
이벤트 처리기와 이벤트의 연결을 끊는 RemoveHandler는 AddHandler와 같은 구문을 사용합니다. 예를 들면 다음과 같습니다.
RemoveHandler Obj.XEvent, AddressOf Me.XEventHandler