Winforms UserControl Load事件未触发

时间:2014-10-02 17:19:23

标签: c# winforms user-controls

出于某种原因,Load事件未被触发。遇到与Why usercontrols loaded event is not fired类似的问题,所以我尝试更改VS异常"处理"如所建议的那样,但没有例外。

正如本主题UserControl Load event not fired中所建议的,如果我覆盖OnLoad方法,则会调用它。 Load事件和OnLoad方法之间有什么区别吗?知道为什么一个被调用,但另一个不被调用?

UserControl Inicialization

this.Load += new System.EventHandler(this.MessageItemUC_Load);

方法

private void MessageItemUC_Load( object sender, EventArgs e ) {
    //is not called
}
protected override void OnLoad( EventArgs e ) {
    //is called
    base.OnLoad( e );
}

1 个答案:

答案 0 :(得分:1)

OnLoad是负责触发Load事件的方法。因此,如果有人在不调用Base.OnLoad的情况下覆盖OnLoad方法,则Load事件可能不会触发。或者,如果有人将Load事件标记为已处理,那么它也可能不会触发