在启动时加载窗体的所有用户控件

Load all user controls of a form on start

我的 Winform 应用程序有一个带有选项卡控件的主窗体。在每个选项卡中都有一个 User Control。并且每个用户控件都有在用户控件的Load事件上加载的控件(如DataGridViews等)

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

所以我想使用启动画面隐藏所有这些加载,直到加载所有控件为止。我以前使用过 Splash screen,我知道如何隐藏和显示我的主窗体。要点是在我的主窗体的加载事件上加载所有用户控件。

您需要遍历选项卡控件的每一页。 Winforms 在第一次访问时只加载一个标签页

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

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