同时显示表单并在后台获取数据

本文关键字:后台 获取 数据 显示 表单 | 更新日期: 2023-09-27 17:55:29

我正在开发一个经常使用数据库的winforms应用程序,我的 90% 的表单需要从 Form_Load 上的数据库加载一些初始数据。

我被告知使用线程来显示表单,然后去获取数据并用数据填写表单,否则客户看不到表单,直到邮递员去数据库并返回数据:)

我以前用线程做过一些简单的任务,但这种情况对我来说有点混乱。我有一个主窗体,它是MdiParent,其他窗体MdiChild如下所示:

ChildForm child = new ChildForm { MdiParent = Program.mainForm };

和我的主窗体(MdiParentProgram.cs中是静态的)

我不知道我是否应该使用ThreadBackgroundWorker ?其他解决方案?

如果您的善意回复可以帮助我解决此案并增强我不完整的知识,我将非常高兴。谢谢。

同时显示表单并在后台获取数据

使用 BackgroundWorker 是最简单的方法。 它处理线程问题、捕获异常并在 UI 线程上运行工作完成回调。

如果您使用的是 C# 4.5,那么 await/asych 也是一个不错的方法。