質問: true; bgworker.runworkerasync(); } } }
回答: >プログレスバーが終了するまえに”終了”が出てしまいますが >これはどうしてでしょうか? 単純にタイミングの問題なんじゃないですかねぇ...。 >progressbar1.value = e2.progresspercentage; でプログレスバーの値が書き換わりますが、再描画の指示がメッセージキューに積まれます。 で、その再描画を処理する前にrunworkercompletedが処理されてしまった。 ということかと。 実行している環境のスペック次第でそこら辺は変わるかも知れません。 # というかこちらではそんな事になりませんでしたし......。 messagebox.show()の前にprogressbar1.update()とか入れてみたらどうなりますかね? # まあ、このタイミングで再描画強制できるかどうかは不明ですが。 # button1.enabled = true;でのボタンの再描画は走っているみたいですからイケますかねぇ...。 あと......テストだからいいかも知れませんが、doworkでresult設定した方がいいんじゃないですかね。