c#progressbar无法正常工作

时间:2013-06-22 17:14:15

标签: c# progress-bar

我的应用程序中有一个进度条,它应该做的是等于计数器值。进度条的最大值为100,最小值为0.当程序运行时,它只会增加一个非常小的百分比。

while (counter < numericUpDown1.Value)
{
     timer1.Start();
     client.Send(message);
     counter++;
     timer1.Stop();
     progressBar1.Value = counter;
}

3 个答案:

答案 0 :(得分:2)

你已经将你的最大值设置为100,所以要确保你的计数器达到100.把它放到试试看 progressBar1.Maximum = (int)numericUpDown1.Value;

答案 1 :(得分:0)

每次更改其值时,可能需要使用Application.DoEvents();

答案 2 :(得分:0)

Fabio是正确的,如果numericdown1只有5,你的进度条只会增加到5,所以你需要做一些像(NumberDown1.Value / 100)* 100来获得你应该增加进度条的内容(之前while循环,不在其中)。然后我会创建一个委托来更新UI线程,如果它的winforms或它的WPF使用Dispatcher,你的值。