完全显示MDI表单后立即显示子表单

时间:2015-08-10 07:39:47

标签: c# multithreading winforms mdi

我是MDI winform,顶部面板显示图片,左侧是数据库中的导航菜单。我想在显示MDI表单后立即显示默认子表单。在显示所有内容之前,我使用过DevExpress WaitForm。但是,在完全显示子表单之前,顶部面板保持空白。如何在显示MDI的每个组件后显示子表单。我试过线程,但没有弄清楚如何正确管理它。非常感谢您的帮助。

由于

1 个答案:

答案 0 :(得分:0)

  

子表单包含一个xtraReport控件,用于从数据库生成报告

听起来您的子窗体正在通过获取数据库数据和生成报告来阻止主窗口。

考虑使用另一个线程从数据库中获取数据。获得所有数据后,让UI线程在xtraReport控件上设置数据源属性(或等效属性)。

对于线程,您可以使用:

  • 明确的Thread(不推荐)
  • 虽然您可能需要对您的UI线程进行线程编组<{1}}
  • Task方法async(推荐)。这样可以更轻松地在另一个线程上完成工作,然后自动将结果封送到您可以更新{0}}
  • 的UI线程