我刚刚发现TabControl中的UserControls只有在父TabPage被选中后才会加载。有没有办法防止这种延迟加载?我需要在加载主窗体时初始化UserControls。
发布于 2010-11-09 18:32:09
TabControl并不特别对待它的控件,事实上,在第一次显示控件之前,UserControl上的Load事件在任何情况下都是正常的。TabPage负责显示控件,因此只有在第一次选择时才会“加载”。
要克服这种(完全正常的) Windows Forms行为,你可以将你的初始化代码移到一个单独的方法中,并在Form加载时调用它,或者你可以将你的初始化代码放在UserControl的构造函数中,无论哪种方式,你都可以立即执行初始化。
发布于 2012-05-09 01:27:51
您可以为窗体的Load事件处理程序中的选项卡调用Tabcontrol的SelectTab()方法。
发布于 2012-02-12 15:55:52
我只是在搜索如何实现您所描述的默认行为。我支持的一个应用程序没有延迟选项卡的加载。原来标签是在load事件中初始化的,而不是在构造函数中。
因此,如果将选项卡添加到窗体load事件中的选项卡控件中,则选项卡中的所有控件都将在TabPages.AddRange调用中触发其加载事件
https://stackoverflow.com/questions/4131130
复制相似问题