在开始时加载表单的所有用户控件

时间:2015-06-16 12:32:22

标签: c# winforms events user-controls

我的Winform应用程序有一个带有制表符控件的主窗体。每个标签中都有一个User Control。并且每个用户控件都具有在用户控件的Load事件上加载的控件(例如DataGridViews等)。

我遇到的问题是,在将主表单显示给用户之前,我想初始化所有这些用户控件。目前,显示主窗体,当用户单击其中一个选项卡时,用户控件开始运行其Load事件,并且主窗体空白,直到加载控件为止。

所以我想隐藏所有这些加载使用直到所有控件都加载的Splash屏幕。我之前使用过Splash屏幕,我知道如何隐藏和显示我的主要表单。重点是在我的主窗体的Load事件上加载所有用户控件。

1 个答案:

答案 0 :(得分:2)

您需要循环选项卡控件的每个页面。 Winforms仅在首次访问时加载标签页

for(int i=1; i < tabControlName.TabPages.Length; i++)
    tabControlName.SelectedIndex = i;
tabControlName.SelectedIndex = 0;

更改选定的索引将使标签页加载。