アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

BackgroundWorkerの同期について詳しく書かれている本も探しています。

A 回答 (1件)

そうですね Application.DoEvents() あたりでしょうか



ReportProgressを呼び出す頻度が多すぎるのではないでしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!