我正在 for 循环中处理一些 xml 文件,根据已处理的文件数,我想显示进度条。假设目录中有 100 个文件,并且文件正在循环处理中,我想根据 for 循环的当前计数更新进度条。
请建议..
问问题
18805 次
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 thePerformStep
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();
}
于 2020-11-10T14:48:51.477 回答