0

在我的 .NET 应用程序中,我正在将一个大型 SQL 表读入内存,并且我希望ProgressBar应用程序的窗口中的 至少在某些情况下在SqlDataAdapter.Fill()操作被阻塞时进行。我已经Fill()在对象的后台线程中进行了BackgroundWorker调用,并且我尝试在调用但不起作用ProgressBar的前台线程中更新该调用。RunWorkerAsync()这里有什么建议吗?

4

1 回答 1

0

看到您无法直接从 Dataset.Fill 获得进展并使用 OnRowUpdate / OnRowUpdated 是很痛苦的,除非您发现应该更新多少行,否则您仍然无法完成 %。

还不如在那里敲一个计时器并在填充任务运行时更新一些动画。

作为旁注,我们编写了一个小动画组件,它在它自己的线程中运行,您传递您想要在线程中执行的方法。很好地把它包起来,你可以把东西放在一个 using 块里,一切都干净整洁。适用于火和忘记线程,你也可以做一个模态版本。

于 2013-03-20T19:54:44.190 回答