5

我正在 for 循环中处理一些 xml 文件,根据已处理的文件数,我想显示进度条。假设目录中有 100 个文件,并且文件正在循环处理中,我想根据 for 循环的当前计数更新进度条。
请建议..

4

5 回答 5

3

使用 Background Worker 处理 100 个文件,每次迭代调用 ReportProgress,连接到 backgroundworker 的 Process changed 事件并相应地更新进度条。

您可以查看本教程以获取详细信息。

于 2012-09-27T09:11:44.913 回答
3

看看BackgroundWorker课堂,特别是在ProgressChanged活动中。

于 2012-09-27T09:11:55.547 回答
2

您应该将 BackgroundWorker 与 ProgressBar 控件结合使用。这是一个简单的例子

于 2012-09-27T09:11:59.573 回答
0
for(int i=1;i<linecount;i++)
{
 progressBar1.Value = i * progressBar1.Maximum / linecount;  //show process bar counts
 LabelTotal.Text = i.ToString() + " of " + linecount; //show number of count in lable
 int presentage = (i * 100) / linecount;
 LabelPresentage.Text = presentage.ToString() + " %"; //show precentage in lable
 Application.DoEvents(); keep form active in every loop
}
于 2017-03-24T09:00:20.440 回答
0

Set Minimum and Maximum and then use the Step property with the PerformStep method to increment the value of the ProgressBar.

 progressBar1.Step = 1;
 int part=someList.Count / 100;
 ....
 .... 
 //Inside the loop 

  if (loop_counter % part == 0)
  {
       progressBar1.PerformStep();
  }

See

于 2020-11-10T14:48:51.477 回答