C# 从for循环更新进度条

C# 从for循环更新进度条,c#,winforms,progress-bar,C#,Winforms,Progress Bar,我正在for循环中处理一些xml文件,根据已处理的文件数,我想显示进度条。 假设目录中有100个文件,文件在循环中逐个处理,我想根据for循环的当前计数更新进度条。 请建议..使用后台工作程序处理100个文件,每次迭代调用ReportProgress,挂接backgroundworker的Process changed事件,并相应地更新progressbar 您可以查看详细信息。查看类,尤其是在活动中。您应该将BackgroundWorker与ProgressBar控件结合使用。这里有一个简单的

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

请建议..

使用后台工作程序处理100个文件,每次迭代调用ReportProgress,挂接backgroundworker的Process changed事件,并相应地更新progressbar


您可以查看详细信息。

查看类,尤其是在活动中。

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

用于(inti=1;i
设置最小值和最大值,然后使用
Step
属性和
PerformStep
方法来增加进度条的值


更新循环中的迭代器。(如果循环是
for(int i=0;i<100;i++)
迭代器是i)。请不要添加。一旦你赢得足够的声誉,请回答最好的,并将其余的标记为副本。如果不是副本,请根据question@ManfredRadlwimmer对不起,我是新来的。谢谢你的建议,我以后会照办的。
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
}
 progressBar1.Step = 1;
 int part=someList.Count / 100;
 ....
 .... 
 //Inside the loop 

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