【发布时间】:2011-07-11 15:54:56
【问题描述】:
stackoverflow上已经有几个类似的问题了,但是我没有找到答案
我有一个包含多个标签页的应用程序。在其中一个上,我一次加载几十个用户控件的列表。目前我正在 Load 事件中执行此操作,因此在加载此页面之前我有一个小的延迟。我想要做的是使 UI 更具响应性并在页面完全加载后填充列表。有什么方法可以跟踪用户控件何时完全加载其内容?
VisibleChanged 也无济于事,因为它会在显示任何其他子控件之前触发。当我开始加载控件列表时,当某些子控件仍然不可见时,这会导致一些难看的视觉效果。
编辑
为了更清楚。我在页面容器上有一些子控件,并且有一个稍后要加载的自定义控件列表。下面几个答案中描述的两种方法的问题是,当我开始加载控件时,它们不会让容器上的其他子控件显示出来,这就是为什么我有那些丑陋的效果(我正在这样做) BackgroundWorker,但无论如何它必须与主线程交互才能将控件添加到列表中)
【问题讨论】:
-
DRapp's answer,使用正确,应该可以解决这个问题。有关详细信息,请参阅我对该答案的评论。
标签: c# winforms events user-controls load