我有一个过程需要很长时间,我想要一个窗口来显示进度。但是,我不知道如何显示进度。
代码如下:
if (procced)
{
// the wpf windows :
myLectureFichierEnCour = new LectureFichierEnCour(_myTandemLTEclass);
myLectureFichierEnCour.Show();
bgw = new BackgroundWorker();
bgw.DoWork += startThreadProcessDataFromFileAndPutInDataSet;
bgw.RunWorkerCompleted += threadProcessDataFromFileAndPutInDataSetCompleted;
bgw.RunWorkerAsync();
}
和:
private void startThreadProcessDataFromFileAndPutInDataSet(object sender, DoWorkEventArgs e)
{
_myTandemLTEclass.processDataFromFileAndPutInDataSet(
_strCompositeKey,_strHourToSecondConversion,_strDateField);
}
我可以调用 _myTandemLTEclass.processProgress
来获取进度提示。
最佳答案
您应该处理 ProgressChanged
事件并在那里更新您的用户界面中的进度条。
在执行工作的实际函数中(DoWork
事件处理程序),您将调用 BackgroundWorker
实例的 ReportProgress
方法指定完成任务量的参数。
BackgroundWorker example in MSDN Library是完成这项工作的简单代码片段。
关于c# - 在对话框中显示进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1843020/