' Add or remove an event handler through reflection,' and return True if successful'' Examples:' ' add an event handler for Button1's Click event' AddRemoveEventHandler(Button1, "Click", New EventHandler(AddressOf ' OnButton1Click))' ' remove an event handler for Button1's Click event' AddRemoveEventHandler(Button1, "Click", New EventHandler(AddressOf ' OnButton1Click), False)Function AddRemoveEventHandler(ByVal obj As Object, ByVal eventName As String, _ ByVal eventHandler As [Delegate]) As Boolean Return AddRemoveEventHandler(obj, eventName, eventHandler, True)End FunctionFunction AddRemoveEventHandler(ByVal obj As Object, ByVal eventName As String, _ ByVal eventHandler As [Delegate], ByVal addEventHandler As Boolean) As _ Boolean Dim type As Type = obj.GetType() ' get the EventInfo object, exit if not found Dim evInfo As System.Reflection.EventInfo = type.GetEvent(eventName) If evInfo Is Nothing Then Return False Try If addEventHandler Then evInfo.AddEventHandler(obj, eventHandler) Else evInfo.RemoveEventHandler(obj, eventHandler) End If Return True Catch Return False End TryEnd Function