单击“用户控件”选项卡页时触发的事件
本文关键字:事件 选项 用户 控件 用户控件 单击 | 更新日期: 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);
基础。刷新();
}