- 締切済み
BackgroundWorkerと同期 VB2008 VB2005
VB2008で、BackgroundWorkerを使って重たい処理をさせています。 DoWork内で、ReportProgress(パーセント値)を呼び出して ProgressChangedメソッドで、そのときの状態を表示させています。ぷプログレスバーだけでなく、あらかじめ作成したデータをTextBoxに情報を表示させています。 しかし、ReportProgress(パーセント値)の後にSystem.Threading.Thread.Sleep(200)を入れないと、たまに ProgressChangedの中のTextBoxを表示させる処理が実行されなくなります。 ReportProgress(パーセント値)の後に同期をとる処理はSleep以外に何かあるのでしょうか? BackgroundWorkerの同期について詳しく書かれている本も探しています。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- redfox63
- ベストアンサー率71% (1325/1856)
回答No.1
そうですね Application.DoEvents() あたりでしょうか ReportProgressを呼び出す頻度が多すぎるのではないでしょうか?