Řešení potíží s obslužnými rutinami zděděných událostí v jazyce Visual Basic

Toto téma uvádí běžné problémy, ke kterým dochází u obslužných rutin událostí ve zděděných komponentách.

Procedury

Kód v obslužné rutině události se provede dvakrát pro každé volání.

  • Zděděná obslužná rutina události nesmí obsahovat klauzuli Handles . Metoda v základní třídě je již přidružena k události a aktivuje se odpovídajícím způsobem. Odeberte klauzuli Handles ze zděděné metody.

    ' 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
    
  • Pokud zděděná metoda neobsahuje Handles klíčové slovo, ověřte, že kód neobsahuje další příkaz AddHandler nebo žádné další metody, které zpracovávají stejnou událost.

Viz také