从for循环更新进度条

时间:2012-07-23 14:46:18

标签: c# winforms

我有一个进度条,我想同样更新for循环中的值 我怎样才能有相同的数据更新?

例如,如果循环的计数是10或计数是1000 我该如何自动化?

仅供参考,进度条的最小值为0,最大值为100

2 个答案:

答案 0 :(得分:3)

您可以调整进度条的最大值以匹配您的数据大小,也可以相应缩放:

for (int i = 0; i < count; i++) {
  // do something
  progressBar1.Value = i * progressBar1.Maximum / count;
  Application.DoEvents();
}

答案 1 :(得分:1)

将你当前值的任何值(我们称之为x)除以最大值,然后将结果乘以100。

double progress = (x / max) * 100;

但是要小心,如果x和max是整数,那么你最终会进行整数除法而不是浮点除法。在这种情况下,您可能需要将一个或两个转换为double或float。

相关问题