Troubleshooting Inherited Event Handlers in Visual Basic

This topic lists common issues that arise with event handlers in inherited components.

Procedures

Code in Event Handler Executes Twice for Every Call

  • An inherited event handler must not include a Handles clause. The method in the base class is already associated with the event and will fire accordingly. Remove the Handles clause from the inherited method.

    ' INCORRECT 
    Protected Overrides Sub Button1_Click( _
        ByVal sender As System.Object, _
        ByVal e As System.EventArgs) _
        Handles Button1.Click
    
        ' The Handles clause will cause all code 
        ' in this block to be executed twice. 
    End Sub
    
    ' INCORRECT 
    Protected Overrides Sub Button1_Click( _
        ByVal sender As System.Object, _
        ByVal e As System.EventArgs) _
        Handles Button1.Click
    
        ' The Handles clause will cause all code 
        ' in this block to be executed twice. 
    End Sub
    
  • If the inherited method does not have a Handles keyword, verify that your code does not contain an extra AddHandler Statement or any additional methods that handle the same event.

See Also

Tasks

How to: Write Event Handlers

Concepts

Events and Event Handlers

How to: Handle Events in Visual Basic

Other Resources

Events in Visual Basic