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

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

过程

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

  • 继承的事件处理程序不得包含 Handles 子句 (Visual Basic) 子句。 基类中的方法已经与事件关联并将相应地激发事件。 从继承的方法中移除 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 语句 或处理同一事件的任何其他方法。

请参见

其他资源

事件 (Visual Basic)