c#进度条工作不正常

本文关键字:工作 不正常 | 更新日期: 2023-09-27 18:19:26

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

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

c#进度条工作不正常

您已将最大值设置为100,因此请确保计数器达到100。放这个试试progressBar1.Maximum = (int)numericUpDown1.Value;

也许每次更改其值时都需要使用Application.DoEvents();

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