事業内容

BackgroundWorkerでのスレッド処理




BackgroundWorkerを使ってスレッド処理してみます。
メインの部分は以下の感じです。



RunWorkerAsyncメソッドを呼び出した際にDoWorkイベントが発生します。
ProgressChangedイベントはReportProgress呼び出し時に発生します。
有効にするにはWorkerReportsProgressをtrueに設定しておく必要があります。
RunWorkerCompletedイベントは処理終了時に発生します。
有効にするにはWorkerSupportsCancellationをtrueに設定しておく必要があります。



実行すると以下のようになります。




20120225追加
途中キャンセルする場合は以下のようにします。



DoWorkEventArgs.Cancelをtrueにしてからキャンセルしないと
RunWorkerCompletedEventArgs.Cancelledがtrueにならないので注意してください。




C#へ

テンプレートのpondt