C#:等到进度条完成绘制

jan*_*anw 5 c# lag wait progress-bar

可能重复:
Winforms 进度条不更新 (C#)

第一次在这里问我问题。

我将尝试使用以下代码片段来解释我的问题:

progressBar1.Maximum = 50;
for (int i = 0; i < 50; i++)
{
    progressBar1.Value++;
}
MessageBox.Show("Finished");
progressBar1.Value = 0;
Run Code Online (Sandbox Code Playgroud)

这段代码的问题是 MessageBox 在 for 循环完成时弹出,而不是在进度条完成绘制时弹出。有没有办法等到进度条完成绘制后再继续?

谢谢你们!

fjd*_*ont 4

您可能想看看System.Windows.Forms.Application.DoEvents()参考

progressBar1.Maximum = 50;
for (int i = 0; i < 50; i++)
{
    progressBar1.Value++;
    Application.DoEvents();
}
MessageBox.Show("Finished");
progressBar1.Value = 0;
Run Code Online (Sandbox Code Playgroud)