tabControl中标签的初始化

时间:2013-03-21 09:10:24

标签: c# user-controls initialization tabcontrol

我正在使用带有多个标签的tabControl(> 10),每个标签都有UserContol。但选项卡在启动我的应用程序时初始化每个控件。它使我的程序太慢了。我想在我点击它时才运行我的userControl。我怎么能这样做?

3 个答案:

答案 0 :(得分:2)

你应该改进你的UserControl,他们不会做性能的东西,直到它们被激活/可见。给它们一个方法Activate,当选项卡成为选定的选项卡时,tabcontrol会调用该方法。

或者,您无法将UserControl添加到设计器中的TabPage内容。而是在选项卡变为活动状态时创建UserControl。但这将使他们在设计师中无法形容。

答案 1 :(得分:0)

您可以使用IsLoaded之类的标记,直到选中标签,而不是加载控件。选择该选项卡后,如果尚未加载,则可以加载控件并在运行时将它们添加到选项卡Controls

或者,您可以添加控件,但在选中此选项卡之前不会对它们执行任何操作,然后每个选项卡将执行计算或其他操作并更新正确的控件。

这完全取决于你的设计。

答案 2 :(得分:0)

为UserControl的Load事件添加处理程序。然后启动处理程序中的慢速活动。