我正在开发一个适用于数据库的winforms
应用程序,90%的表单需要从Form_Load
的数据库加载一些初始数据。
我被告知使用线程来显示表单,然后去获取数据并用数据填充表单,否则客户无法看到表单,直到邮递员进入数据库并返回数据:)
我以前用线程完成了一些简单的任务,但这种情况对我来说有点混乱。我有一个mainForm是MdiParent
,其他形式是MdiChild
,如下所示:
ChildForm child = new ChildForm { MdiParent = Program.mainForm };
和我的mainForm(MdiParent
中的Program.cs
是静态的)
我不知道是否应该使用Thread
? BackgroundWorker
?其他方案?
如果您的回复可以帮助我完成这个案例并赋予我不完整的知识,那么我会非常高兴。感谢。
答案 0 :(得分:1)
使用BackgroundWorker是最简单的方法。它处理线程问题,捕获异常并在UI线程上运行工作完成回调。
如果您使用的是C#4.5,那么await / asych也是一种很好的方法。