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

更新:2007 年 11 月

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

过程

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

  • 继承的事件处理程序不得包含 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 语句 或处理同一事件的任何其他方法。

请参见

任务

如何:编写事件处理程序

概念

事件和事件处理程序

如何:在 Visual Basic 中处理事件

其他资源

事件 (Visual Basic)