我有这个代码:
for(int k = 0; k<11; k++)
{
pBar.Maximum = 10;
pBar.Value = k;
if (pBar.Maximum == k)
pBar.Value = 0;
}
但是,问题是,进度条在大约 60% 满时会重置。如何确保进度条在重置之前会一直填满?
最佳答案
第一:没有任何理由在每个 interarion 上分配 pBar.Maximum
。
做就是了:
pBar.Maximum = 10;
for(int k = 0; k<11; k++)
{
pBar.Value = k;
if (pBar.Maximum == k)
pBar.Value = 0;
}
第二:您的代码导致阻塞迭代。它不可能永远正确地运行。使用多线程并根据一些
value
或 event
更改进度 tick
,而不是在循环中,就像这里完成的那样。关于c# - 进度条重置为 60%,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11494976/