【发布时间】:2014-01-23 16:34:11
【问题描述】:
我正在开发一个简单的 winforms C# 应用程序。我想使用后台工作人员在顶部显示加载表单,而另一个后台工作人员正在咨询我的 WCF 服务器。
我的 WinForms 应用程序是这样工作的: 我有一个 MainForm 和很多用户控件。当我启动应用程序时,我将 LoginUserControl 添加到 MainForm 控件。当我单击 LoginUserControl 中的“登录按钮”时,我想同时显示加载表单并咨询服务器。稍后,我需要向 Loading Background Worker 发送一个信号,表明 Server Consult Background Worker 已完成。
我的问题是,我应该为每个需要加载面板的 UserControl 实现 2 个后台工作程序吗?以及如何实现Background Worker之间的通信?
【问题讨论】:
-
这可能会有所帮助 - 类似的事情(闪屏)stackoverflow.com/questions/7955663/…
-
如果可能,在处理 I/O 绑定操作时使用
async和await而不是BackgroundWorker。 -
为什么有两个BackgroundWorker?显示最上面的表单,调用一个后台工作者,最后完成的事件移除表单。
标签: c# .net winforms wcf backgroundworker