如何在 C# 中为数据库调用实现进度条和后台工作程序?
我确实有一些处理大量数据的方法。它们是运行时间相对较长的操作,所以我想实现一个进度条,让用户知道某些事情正在实际发生。
我想过使用进度条或状态条标签,但由于只有一个 UI 线程,执行数据库处理方法的线程,UI 控件没有更新,使得进度条或状态条标签对我来说毫无用处。
我已经看过一些例子,但它们处理 for 循环,例如:
for(int i = 0; i < count; i++)
{
System.Threading.Thread.Sleep(70);
// ... do analysis ...
bgWorker.ReportProgress((100 * i) / count);
}
private void bgWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
progressBar.Value = Math.Min(e.ProgressPercentage, 100);
}
我正在寻找更好的例子。