我正在使用带有许多选项卡(> 10)的 tabControl,每个选项卡都有 UserContol。但是选项卡在启动我的应用程序时初始化每个控件。这让我的程序太慢了。我只想在单击它时运行我的 userControl。我怎样才能做到这一点?
问问题
1678 次
3 回答
2
您应该改进您的用户控件,使其在被激活/可见之前不会执行性能操作。Give them a method Activate
which the tabcontrol calls when the tabs becomes the selected tab.
或者,您不能将 UserControls 添加到设计器中的 TabPage 内容。而是在选项卡变为活动状态时创建您的 UserControl。但这会使它们在 Designer 中不可见。
于 2013-03-21T09:14:42.007 回答
0
您可以有一个标记,例如IsLoaded
,直到一个选项卡被选中,不加载控件。然后选择选项卡时,如果尚未加载,您可以加载控件并在运行时将它们添加到选项卡Controls
。
或者,您可以添加控件但在选择选项卡之前不对它们执行任何操作,然后每个选项卡将执行计算或其他任何操作并更新正确的控件。
这完全取决于您的设计。
于 2013-03-21T09:16:32.747 回答
0
将处理程序添加到您的用户控件的Load
事件。然后在处理程序中启动缓慢的活动。
于 2013-09-03T17:37:07.660 回答