進行状況バーを非同期で更新する次のコードがあり、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);
}
}