C#进度条没有更新

时间:2017-04-06 01:23:10

标签: c# progress

我的表单上有一个进度条,我希望它在循环结束时每次更新。

progressBar1.Value += (progressBar1.Maximum/4);
if (progressBar1.Value == progressBar1.Maximum)
{
  MessageBox.Show("Done!");
}

我在循环结束时有这个,但是它没有像循环一样更新,只是保持一个坚实的灰色条...任何提示?感谢

1 个答案:

答案 0 :(得分:1)

这不是一个真正的答案,我稍后会删除它,但这里是一个最小的,可重现的代码的例子

删除表单上的进度条和按钮,并将其复制到按钮单击事件中。当您单击按钮时,进度条会显示进度,然后会出现一个消息框,告诉您何时完成,但我得到以下异常:

  

未处理的类型' System.ArgumentOutOfRangeException'发生在System.Windows.Forms.dll

private void button1_Click(object sender, EventArgs e)
{
    progressBar1.Maximum = 999;

    while (progressBar1.Value < progressBar1.Maximum)
    {
        Thread.Sleep(500);
        progressBar1.Value += (progressBar1.Maximum / 4);
    }

    MessageBox.Show("Done!");
}