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