Rozwiązywanie problemów związanych z odziedziczonymi programami obsługi zdarzeń w Visual Basic

W tym temacie wymieniono typowe problemy występujące w programach obsługi zdarzeń w składnikach dziedziczynych.

Procedury

Kod w programie obsługi zdarzeń jest wykonywany dwa razy dla każdego wywołania

  • Dziedziczona procedura obsługi zdarzeń nie może zawierać klauzuli Handles . Metoda w klasie bazowej jest już skojarzona ze zdarzeniem i zostanie odpowiednio wyzwolona. Usuń klauzulę Handles z metody dziedziczonej.

    ' 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
    
  • Jeśli dziedziczona metoda nie ma słowa kluczowego Handles , sprawdź, czy kod nie zawiera dodatkowej instrukcji programu AddHandler ani żadnych dodatkowych metod obsługujących to samo zdarzenie.

Zobacz też

  • Zdarzenia