我有这个代码:

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;
}

第二:您的代码导致阻塞迭代。它不可能永远正确地运行。使用多线程并根据一些 valueevent 更改进度 tick ,而不是在循环中,就像这里完成的那样。

关于c# - 进度条重置为 60%,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11494976/

10-10 01:51