0

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

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

3 回答 3

2

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

于 2013-06-22T19:26:24.630 回答
0

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

于 2013-06-22T17:33:21.800 回答
0

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

于 2013-06-22T17:17:27.010 回答