2009-10-28 36 views
1

我有一个将文件导入数据库的后台任务。我希望用户看到当前正在发生的事情(收集文件/导入文件),哪个文件当前正在处理以及任务进度有多远。我怎样才能以简单的方式做到这一点?模型和控制器之间的交互非常接近,我几乎可以将导入代码放到窗口的代码文件中,并直接更改进度栏值等。你怎么看?你会如何解决这个问题?来自后台任务的进度报告

回答

8

使用BackgroundWorker,这是完成此任务的完美选择。它可以通过ReportProgress方法,它提高了UI线程上ProgressChanged事件(这意味着你不必担心跨线程调用和Invoke

+0

BackgroundWorker是基本线程和报告的绝佳工具。 +1 – 2009-10-28 20:55:58

0

进度条可以是误导性的通知的当前进度的UI很多情况下,我建议你小心设置期望值。

如果您确实以某种百分比显示进度,请根据文件大小考虑不同的加载时间。