トップ回答者
backGroundWorker の中でWindows Form の操作をしたい

質問
-
BackGroundWorker の中でWindows Form の操作をしたい部分があります。
100程度あるbitmap画像の撮影日付をforeach分の中で取得するループ中に、1つの取得が終わるごとにWindows Form にその取得数を表示してどの程度処理が終わったかを確認できるようにしたいのです。
撮影日付を取得するのに時間がかかるので、BackGroundWorker を使っています。Windows Form に処理経過を表示させるにあたって何か他に方法があるのでしょうか。
この辺りのところをご解説いただきたいのです。宜しくお願い致します。
回答
-
参考になりそうなページをあげておきます。
マルチスレッド Windows フォームアプリケーションの開発 - とあるコンサルタントのつぶやき - Site Home - MSDN Blogs
Part 1. Windows フォームのマルチスレッド処理の基礎 - とあるコンサルタントのつぶやき - Site Home - MSDN Blogs
タスクスレッドの起動方法 - とあるコンサルタントのつぶやき - Site Home - MSDN Blogs
Part 3. タスクスレッドと UI の協調動作 - とあるコンサルタントのつぶやき - Site Home - MSDN Blogs
Part 4. Visual Studio によるマルチスレッドアプリの開発 - とあるコンサルタントのつぶやき - Site Home - MSDN Blogs
Blog:プログラマーな日々 http://d.hatena.ne.jp/JHashimoto/- 回答としてマーク yasheeki 2010年12月31日 1:01
すべての返信
-
通常ワーカースレッドからUIを操作することは避けます。
BackgroundWorker クラス (System.ComponentModel) より引用
DoWork イベント ハンドラでユーザー インターフェイス オブジェクトを操作しないように注意する必要があります。代わりに、ProgressChanged イベントと RunWorkerCompleted イベントを通じてユーザー インターフェイスと通信します。
-- 引用ここまで
Blog:プログラマーな日々 http://d.hatena.ne.jp/JHashimoto/ -
参考になりそうなページをあげておきます。
マルチスレッド Windows フォームアプリケーションの開発 - とあるコンサルタントのつぶやき - Site Home - MSDN Blogs
Part 1. Windows フォームのマルチスレッド処理の基礎 - とあるコンサルタントのつぶやき - Site Home - MSDN Blogs
タスクスレッドの起動方法 - とあるコンサルタントのつぶやき - Site Home - MSDN Blogs
Part 3. タスクスレッドと UI の協調動作 - とあるコンサルタントのつぶやき - Site Home - MSDN Blogs
Part 4. Visual Studio によるマルチスレッドアプリの開発 - とあるコンサルタントのつぶやき - Site Home - MSDN Blogs
Blog:プログラマーな日々 http://d.hatena.ne.jp/JHashimoto/- 回答としてマーク yasheeki 2010年12月31日 1:01