我有一个相当长的运行过程,现在冻结了我的应用程序一段时间。使用backgroundworker来显示长时间运行的进程仍在工作
如何将此过程包装在背景工作器中并为用户提供状态。
我知道,理想情况下,流程本身将不得不报告其进展,但我不认为我可以构建它。并不是我无法在该流程中更改代码,但我不想更改太多。
如果我可以在后台工作中启动此过程,以便我的应用保持响应,我会很高兴。现在,我可以做到。但问题是,是否有简单的方法让一些进度条做某件事来表明进程仍在运行?
private void worker_DoWork(object sender, DoWorkEventArgs e)
{
StartLongRunningProcess();
}
我的代码是现在这个样子以上,我想知道如何包装过程中以某种方式,我可以更新进度条?或者是否有一种简单的方法可以在不完全更改代码的情况下从此过程获取更多信息?在长时间运行的进程中,有一个修改的行计数器正在运行,但它只在结束时返回一个值。
我知道backgroundworker和它的ReportProgress选项是如何工作的,但问题是这个过程只是运行并且在运行时不提供任何反馈。
你看着BackgroundWorker的,它需要用它来更新进度条什么的ProgressChanged事件?这根本不是那么糟糕。 – Servy
你用1和100之间的数字(已完成的百分比)调用它 - 这里有一个例子:http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx –
Henk看到我的问题,我真的没有数据..这是整个问题。 – Tys