c# - 来自后台任务的进度报告

标签 c# winforms model-view-controller multithreading

我有一个将文件导入数据库的后台任务。我希望用户看到当前正在发生什么(收集文件/导入文件),当前正在处理哪个文件以及任务进展到什么程度。我怎样才能简单地做到这一点? Model 和 Controller 之间的交互非常紧密,我几乎可以将导入代码放入窗口的代码文件中,直接更改进度条值等。你怎么认为?你会如何解决这个问题?

最佳答案

使用 BackgroundWorker ,它非常适合这项任务。它可以使用 ReportProgress 方法通知 UI 当前进度,这会在 UI 线程上引发 ProgressChanged 事件(这意味着您不必担心跨线程调用和 Invoke)

关于c# - 来自后台任务的进度报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1639969/

相关文章:

c# - 使用 PLINQ 对线程数的内存使用限制

c# - 使用 [NotNull] 作为方法的参数

c# - 如何在没有消息的情况下保存/覆盖现有的 Excel 文件

javascript - 如何在 Asp.net MVC 中向外部 js 文件添加本地化?

model-view-controller - ASP.NET WebForms 与 MVC [在 VS2010/.NET 4.0 发布之后]

c# - 如何创建一个在其他控件之上工作的透明控件?

c# - 我如何优化此 actionresult 以获得更好的性能?我需要在何时从 url 等获取 "GET"XML 数据时设置一个计时器

vb.net - 同步两个不同内容的控件的滚动位置

c# - 从 System.Threading.Timer 在 UI 中调用时如何避免泄漏句柄?

c# - 无法让我的 MVC 扩展 HtmlHelper 类正常工作(错误 : Try specifying the type arguments explicitly)