单击“用户控件”选项卡页时触发的事件

本文关键字:事件 选项 用户 控件 用户控件 单击 | 更新日期: 2023-09-27 18:36:48

下面的代码来自一个System.Windows.Forms.UserControl,工作正常。它与其他用户控件一起包含在选项卡页(本身就是用户控件)上。用户可以通过单击另一个选项卡,执行一些操作,然后单击返回此选项卡页来单击此选项卡页。"执行某些操作"可能包括更改此控件正在显示的数据。但是,单击后退时,不会调用此控件或其父控件的 OnLoad() 方法,因此不会调用OnViewReady()并且不会更新该控件。将使用什么事件来捕获单击返回原始标签页?

protected override void OnLoad (System.EventArgs e)
{
    if (this._presenter != null)
    {
        this._presenter.OnViewReady();
    }
    base.OnLoad (e);
}

用户控件的文档未显示任何方法OnShown
GotFocus要求用户单击控件才能更新它。

单击“用户控件”选项卡页时触发的事件

OnLoad 事件仅在首次创建对象时发生

Load 事件发生在创建控件之后,但在 控件首次变得可见。

当你改变焦点时不会。 如果要在用户每次选择 TabConrol 上的选项卡时运行某些内容,则可以为其使用另一个事件。 TabIndexChanged看起来是您的最佳选择,GotFocus也可能是值得一看的东西。

焦点事件按以下顺序发生:

  • 进入
  • 得到焦点
  • 离开
  • 验证
  • 验证
  • 失焦

答案原来是使用 OnRefresh()

公共覆盖 void 刷新()

{ this.myBindingSource.ResetBindings (false);
基础。刷新();
}