- ベストアンサー
backgroundworkerについて C#
C# 2005で、backgroundworker1.RunWorkerAsync(100);とした場合は、 DoWorkイベントでbgWorkerArgが以下のように100になるのはわかりますが、 int bgWorkerArg = (int)e.Argument; 例えば2つの文字列を送る場合や、構造体を送ることは可能でしょうか? 簡単なサンプルがあれば助かります。 あと、DoWorkイベントの中で // senderの値はbgWorkerの値と同じ BackgroundWorker woker = (BackgroundWorker)sender; としているサンプルを見つけましたが、この後 workerは一般的に何に使うのでしょうか?サンプルでは、何も使っていませんでした。 Threadよりbackgroundworkerを使うように書かれているものも見ましたが 薦めている理由も知りたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> 例えば2つの文字列を送る場合や、構造体を送ることは可能でしょうか? > 簡単なサンプルがあれば助かります。 RunWorkerAsyncの引数はobjectなのでなんでも送れます。 サンプルを示すまでもないでしょう。
その他の回答 (1)
- oboroxx
- ベストアンサー率40% (317/792)
2番目の質問についてですが、Cancelされたか調べるのに使うようです。 次のところに使い方が書いてあります。 CancellationPendingプロパティです。 http://yas-hummingbird.blogspot.com/2008/12/backgroundworker.html 3番目の質問はThreadを使いやすく構成したのがBackgroundWorkderであるので使いやすいから、使える場合ならこっち使えよというイメージかなと思っております。