我有一个后台任务,可以将文件导入数据库。我希望用户看到当前正在发生的事情(收集文件/导入文件),当前处理的文件以及任务进展的程度。我怎么能这么简单地做到这一点?模型和控制器之间的交互非常接近,我几乎可以将导入代码放入窗口的代码文件中,并直接更改进度条值等。你怎么看?你会如何解决这个问题?
答案 0 :(得分:8)
使用BackgroundWorker
,它非常适合此任务。它可以使用ReportProgress
方法通知UI当前进度,这会在UI线程上引发ProgressChanged
事件(这意味着您不必担心跨线程调用和Invoke
})
答案 1 :(得分:0)
在很多情况下,进度条可能会产生误导,所以我建议你小心设定期望。
如果您最终以某种百分比显示进度,请根据文件大小考虑不同的加载时间。