Winforms 如何防止在TabControl中延迟加载UserControl?

Winforms 如何防止在TabControl中延迟加载UserControl?,winforms,user-controls,load,tabcontrol,tabpage,Winforms,User Controls,Load,Tabcontrol,Tabpage,我刚刚发现,在选择父TabPage之前,TabControl中的UserControls不会加载。有没有办法防止这种延迟加载?当主窗体加载时,我需要初始化UserControls。选项卡control并不专门处理其控件,事实上,在所有情况下,UserControl上的加载事件在控件第一次显示之前立即发生是正常的。选项卡页负责显示控件,因此只有在首次选择时才会“加载” 要克服这种(完全正常的)Windows窗体行为,您可以将初始化代码移动到单独的方法,并在加载窗体时调用它,或者您可以将初始化代码放

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

选项卡control并不专门处理其控件,事实上,在所有情况下,
UserControl
上的
加载事件在控件第一次显示之前立即发生是正常的。
选项卡页
负责显示控件,因此只有在首次选择时才会“加载”


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

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


因此,如果在表单加载事件中将选项卡添加到tabcontrol中,则选项卡中的所有控件的加载事件都将作为TabPages.AddRange调用的一部分被激发。您可以在表单的加载事件处理程序中为选项卡调用tabcontrol的SelectTab()方法。

好,谢谢您的解释。我没有意识到这就是它的工作方式。