我有一个进度条,我想更新 for 循环中的值,我怎样才能有相等的数据更新?
例如,如果循环的计数为 10 或计数为 1000,我该如何自动执行此操作?
仅供参考,进度条的最小值为 0,最大值为 100
您可以调整进度条的最大值以匹配您的数据大小,也可以相应地缩放:
for (int i = 0; i < count; i++) {
// do something
progressBar1.Value = i * progressBar1.Maximum / count;
Application.DoEvents();
}
将当前值(我们称之为 x)除以最大值,然后将结果乘以 100。
double progress = (x / max) * 100;
但是要小心,如果 x 和 max 是整数,那么您最终将进行整数除法而不是浮点除法。在这种情况下,您可能需要将一个或两个转换为 double 或 float。