【问题标题】:Winforms UserControl Load event not firedWinforms UserControl 加载事件未触发
【发布时间】:2014-10-02 17:19:23
【问题描述】:

由于某种原因,Load 事件没有被触发。遇到类似于Why usercontrols loaded event is not fired的问题,所以我尝试按照建议更改VS异常“处理”,但没有抛出异常。

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

UserControl初始化

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 );
}

【问题讨论】:

    标签: c# winforms user-controls


    【解决方案1】:

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

    【讨论】:

    • 两者都没有发生,OnLoad 未被覆盖。
    • 我确实订阅了Load 活动,如果您有这样的想法。
    • 你订阅了 load 事件……什么的。你调用 load 事件了吗?
    • @pikausp 尝试在覆盖时触发 Load 事件,看看会发生什么
    • @CalvinSmith 我订阅了UserControlLoad 事件,等待它被触发。我将编辑问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-23
    • 1970-01-01
    • 2016-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多