【发布时间】:2012-07-23 22:49:44
【问题描述】:
我有一个进度条,我想更新 for 循环中的值 我怎样才能有相等的数据更新?
循环计数为 10 或计数为 1000 的示例 我该如何自动化呢?
仅供参考,进度条的最小值为0,最大值为100
【问题讨论】:
我有一个进度条,我想更新 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。
【讨论】:
100 * x / max。