有关 Visual Basic 中继承的事件处理程序的疑难解答

本主题列出了继承的组件中的事件处理程序所发生的常见问题。

过程

事件处理程序中的代码对每个调用执行两次

  • 继承的事件处理程序不得包含 Handles 子句。 基类中的方法已与事件关联,并会相应地激发。 Handles从继承的方法中删除子句。

    ' 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
    
  • 如果继承的方法不具有 Handles 关键字,请验证你的代码不包含额外的 AddHandler 语句 或处理相同事件的任何其他方法。

请参阅