1

我正在构建两个在同一个数据库上工作的应用程序。我的问题是我想创建一个自动更新。

细节 :

我有一个农场,在主要表格上我显示了一些数据(例如药物清单)。我有另一个应用程序允许我添加/编辑/删除药物。

我希望第一个应用程序不时更新(1-2 秒)。

我尝试在主应用程序中创建另一个线程并以 2 秒的睡眠时间调用它,但它冻结了应用程序,我不希望这样。我希望应用程序(两者)都能正常运行并以某种方式进行后台更新。

想法?

4

3 回答 3

2

BackgroundWorker将允许您执行此操作。

于 2012-05-03T19:29:24.807 回答
1

如果您使用 的实例System.Threading.Timer每 X 秒更新一次显示,则可以依靠 tick 回调在后台线程上。这将防止显示冻结。

请记住,您只能访问更新它们的线程上的控件。如果需要访问工作线程上的控件,可以使用 InvokeRequired/Invoke 模式(在 WinForms 中)。

于 2012-05-03T19:34:00.197 回答
1

看看Async CTP。它将帮助您在后台做一些事情并稍后更新您的视图(表单)。

于 2012-05-03T19:52:14.223 回答