Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: VB7
Expertise: Advanced
Jul 28, 2003

AddRemoveEventHandler - Add or remove an event handler through reflection

' 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 Function
Function 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 Try
End Function
Francesco Balena
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap