AddHandler and RemoveHandler
The AddHandler statement is similar to the Handles clause in that both allow you to specify an event handler. However, AddHandler, used with RemoveHandler, provides greater flexibility than the Handles clause, allowing you to dynamically add, remove, and change the event handler associated with an event. If you want to handle shared events or events from a structure, you must use AddHandler.
AddHandler takes two arguments: the name of an event from an event sender such as a control, and an expression that evaluates to a delegate. You do not need to explicitly specify the delegate class when using AddHandler, since the AddressOf statement always returns a reference to the delegate. The following example associates an event handler with an event raised by an object:
AddHandler Obj.XEvent, AddressOf Me.XEventHandler
RemoveHandler, which disconnects an event from an event handler, uses the same syntax as AddHandler. For example:
RemoveHandler Obj.XEvent, AddressOf Me.XEventHandler