为什么进度条从来没有达到100%

本文关键字:100% 从来没有 为什么 | 更新日期: 2023-09-27 18:10:38

我想做的是,如果我检查如果计数器== 10,那么progressBar将跳10,直到100。如果我设置If counter == 20,那么progressBar应该跳20秒,直到100。

private void NewsUpdate()
        {
            counter += 1;
            progressBar1.Value = (int)Math.Round((counter / 10f) * 100);
            label9.Text = counter.ToString();
            label9.Visible = true;
            if (counter == 10)
            {
                Extractions();
                counter = 0;
                progressBar1.Value = 0;
            }  
        }

我在计时器滴答事件中调用这个方法,timer1间隔设置为1000ms现在的情况是,progressbar1移动了10次,达到90%在移动了9次之后,它又回到0到0。

为什么进度条从来没有达到100%

改为:

 PprogressBar1.Maximum = YourMaximumValue; // like for example 1,000,000

,然后加1

Counter += 1;
ProgressBar1.Value = Counter;

你的问题中的公式的结果总是小于100的小数(如98.55)。

当计数器等于10时,进度为100%。但是,您正在设置progressBar1。值= 0;所以在UI更新之前它永远不会达到100%