0
我有一个进度条,我想更新来自for循环的值 我怎么能有相等的数据更新?从for循环更新进度栏
例如,如果循环的计数是10或者如果计数是1000 我该如何自动执行此操作?
仅供参考,进度条的最小值为0,最大值为100
我有一个进度条,我想更新来自for循环的值 我怎么能有相等的数据更新?从for循环更新进度栏
例如,如果循环的计数是10或者如果计数是1000 我该如何自动执行此操作?
仅供参考,进度条的最小值为0,最大值为100
鸿沟不管你当前值(我们称之为X)由最大值,然后多个结果100。
double progress = (x/max) * 100;
不过要小心,如果X和max是在那么你最终会做整数除法而不是浮点除法。在这种情况下,您可能需要将其中的一个或两个施放为双精度或浮点数。
您可以调整最大的进度条来搭配你的数据的大小,也可以按比例调整:
for (int i = 0; i < count; i++) {
// do something
progressBar1.Value = i * progressBar1.Maximum/count;
Application.DoEvents();
}
@Joey:是的,这就是我在答案中提到的原因。 – 2012-07-23 15:36:26
为了避免截断,使用'100 * x/max'。 – 2012-07-23 16:22:42