Solucionar problemas de controladores de eventos heredados en Visual BasicTroubleshooting Inherited Event Handlers in Visual Basic

En este tema se enumera problemas comunes que surgen con controladores de eventos en componentes heredados.This topic lists common issues that arise with event handlers in inherited components.

ProcedimientosProcedures

Código de controlador de eventos se ejecuta dos veces para todas las llamadasCode in Event Handler Executes Twice for Every Call

  • Un controlador de eventos heredado no debe incluir un controla cláusula.An inherited event handler must not include a Handles clause. El método de la clase base ya está asociado con el evento y se activará en consecuencia.The method in the base class is already associated with the event and will fire accordingly. Quitar el Handles cláusula del método heredado.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
    
  • Si el método heredado no tiene un Handles palabra clave, compruebe que el código no contiene un archivo extra AddHandler (instrucción) o métodos adicionales que controlan el mismo evento.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.

Vea tambiénSee also