• 締切済み

BackgroundWorkerと同期 VB2008 VB2005

VB2008で、BackgroundWorkerを使って重たい処理をさせています。 DoWork内で、ReportProgress(パーセント値)を呼び出して ProgressChangedメソッドで、そのときの状態を表示させています。ぷプログレスバーだけでなく、あらかじめ作成したデータをTextBoxに情報を表示させています。 しかし、ReportProgress(パーセント値)の後にSystem.Threading.Thread.Sleep(200)を入れないと、たまに ProgressChangedの中のTextBoxを表示させる処理が実行されなくなります。 ReportProgress(パーセント値)の後に同期をとる処理はSleep以外に何かあるのでしょうか? BackgroundWorkerの同期について詳しく書かれている本も探しています。

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

そうですね Application.DoEvents() あたりでしょうか ReportProgressを呼び出す頻度が多すぎるのではないでしょうか?

関連するQ&A

専門家に質問してみよう