出于某种原因,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 );
}
答案 0 :(得分:1)
OnLoad是负责触发Load事件的方法。因此,如果有人在不调用Base.OnLoad的情况下覆盖OnLoad方法,则Load事件可能不会触发。或者,如果有人将Load事件标记为已处理,那么它也可能不会触发