2012年10月30日

WPFサンプル:ProgressBar (BackgroundWorker使用)

   このエントリーをはてなブックマークに追加 Clip to Evernote
これまで、「WPFサンプル」では、C#のまともなコードを載せていませんでしたが、
やっとC#のコードが活躍するサンプルにたどり着きました。
今日は、進行状況を示すProgressBarのサンプルです。
今回のサンプルでは、バックグランド処理に、BackgroundWorkerクラスを使っています。

※ .NET Framework4 から導入されたTask クラスを使ったサンプルもそのうち示したいと思います。

ProgressBarは、2つ用意し、IsIndeterminate = false と trueの2つの動きが分かるようにしました。

非同期処理のために、BackgroundWorkerをラップした独自クラスを定義して、非同期処理を書いています。キャンセル処理も可能です。
RunAsyncメソッドでは、2つの引数(Action<>デリゲート)があり、一つは、処理中のGUI処理を記述し、
2つめの引数では、終了処理を記述します。isCancelで途中で終了したかどうかが分かります。

WPFSampleProgressBar1





 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/52273762