形式加载时组合框的延迟加载

Fro*_*rud 0 c# winforms

我有一个Windows窗体(C#)项目,其中包含多个组合框/列表框等​​,在表单加载时填充.

问题是组合框/列表框的加载速度很慢,并且由于在表单尝试显示时完成加载,因此在填充所有控件之前不会显示整个表单.在某些情况下,这可能是20秒以上.

如果有一个Form_finished_loaded类型的事件我可以将我的代码放在那里,但是我无法找到在完成表单绘制基本控件后触发的事件.

我有一个要求 - 加载必须在主线程中完成(因为我从一个非线程友好的COM应用程序中获取项目).

我找到了一个可能的解决方案,但也许有更好的方法?我可以在创建表单时创建一个System.Timer.Timer,并在大约1秒后调用第一个Tick,然后从该tick中填充列表.这使表单在开始填充列表之前有足够的时间显示.

有没有人有关于如何延迟加载控件的任何其他提示?

Igo*_*kin 6

还有就是图中所示的事件即"每当第一次显示形式发生.".此外,您可能希望使用BeginUpdate和EndUpdate函数来更快地填充组合框.