我正在构建两个在同一个数据库上运行的应用程序。我的问题是我想创建一个自动更新。
详细信息:
我有一个farmacy,在主要表格上我显示了一些数据(例如药品清单)。 我有另一个应用程序,允许我添加/编辑/删除药物。
我希望第一个应用程序不时更新(1-2秒)。
我尝试在主应用程序中创建另一个线程,并在2秒睡眠时调用它,但它会使应用程序解冻,我不希望这样。我希望应用程序(它们都是)能够运行并以某种方式进行后台更新。
想法?
答案 0 :(得分:2)
BackgroundWorker允许您这样做。
答案 1 :(得分:1)
如果您使用System.Threading.Timer
的实例每X秒更新一次显示,则可以依赖tick回调在后台线程上。这样可以防止显示屏冻结。
请记住,您只能访问已更新的主题上的控件。如果需要访问工作线程的控件,可以使用InvokeRequired / Invoke模式(在WinForms中)。
答案 2 :(得分:1)
看看Async CTP。它将帮助您在后台完成工作并稍后更新您的视图(表单)。