Problembehandlung für geerbte Ereignishandler in Visual Basic

In diesem Thema werden häufige Probleme aufgeführt, die mit Ereignishandlern in geerbten Komponenten entstehen.

Prozeduren

Code in Ereignishandler wird zweimal für jeden Aufruf ausgeführt.

  • Ein geerbter Ereignishandler darf keine Handle-Klausel enthalten. Die Methode in der Basisklasse ist bereits dem Ereignis zugeordnet und wird entsprechend ausgelöst. Entfernen Sie die Handles Klausel aus der geerbten Methode.

    ' 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
    
  • Wenn die geerbte Methode kein Schlüsselwort enthält Handles , stellen Sie sicher, dass Der Code keine zusätzliche AddHandler-Anweisung oder zusätzliche Methoden enthält, die das gleiche Ereignis behandeln.

Siehe auch