我有以下代码以异步方式更新进度条,我通过调用 MessageBox 注意到它的异步行为。在这种情况下,它工作得很好,但是当我休眠 1s(1000)时,MessageBox 不会弹出并且完成进度条一次填充。请告诉为什么会这样。
private void button1_Click(object sender, EventArgs e)
{
Update_Async async = new Update_Async(Update_Async_method);
progressBar1.BeginInvoke(async,10);
MessageBox.Show("Updation In Progress");
}
public void Update_Async_method(int a)
{
this.progressBar1.Maximum = a;
for (int i = 1; i <= a; i++)
{
progressBar1.Value = a;
Thread.Sleep(10);
//Thread.Sleep(1000);
}
}