3

我刚刚发现 TabControl 中的 UserControls 在选择父 TabPage 之前不会加载。有没有办法防止这种延迟加载?我需要在主窗体加载时初始化 UserControls。

4

3 回答 3

2

TabControl没有特别对待它的控件,事实上在所有情况下,在控件第一次显示之前立即发生事件是正常的LoadUserControl负责显示控件,因此TabPage只有在第一次选择时才会“加载”。

为了克服这种(完全正常的)Windows 窗体行为,您可以将初始化代码移动到单独的方法并在Form加载时调用它,或者您可以将初始化代码放在UserControl的构造函数中。无论哪种方式,您都可以立即执行初始化。

于 2010-11-09T10:32:08.810 回答
1

您可以为 Form 的 Load 事件处理程序中的选项卡调用 Tabcontrol 的 SelectTab() 方法。

于 2012-05-08T17:27:50.727 回答
0

我只是在搜索如何实现您描述的这种默认行为。我支持的一个应用程序没有延迟标签的加载。结果发现选项卡是在加载事件而不是构造函数中初始化的。

因此,如果您在表单加载事件中将选项卡添加到选项卡控件,选项卡中的所有控件都将作为 TabPages.AddRange 调用的一部分触发其加载事件

于 2012-02-12T07:55:51.860 回答