0

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

例如,如果循环的计数为 10 或计数为 1000,我该如何自动执行此操作?

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

4

2 回答 2

4

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

for (int i = 0; i < count; i++) {
  // do something
  progressBar1.Value = i * progressBar1.Maximum / count;
  Application.DoEvents();
}
于 2012-07-23T14:48:40.603 回答
1

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

double progress = (x / max) * 100;

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

于 2012-07-23T14:49:44.303 回答