• ベストアンサー

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を使うように書かれているものも見ましたが 薦めている理由も知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

> 例えば2つの文字列を送る場合や、構造体を送ることは可能でしょうか? > 簡単なサンプルがあれば助かります。 RunWorkerAsyncの引数はobjectなのでなんでも送れます。 サンプルを示すまでもないでしょう。

その他の回答 (1)

  • oboroxx
  • ベストアンサー率40% (317/792)
回答No.2

2番目の質問についてですが、Cancelされたか調べるのに使うようです。 次のところに使い方が書いてあります。 CancellationPendingプロパティです。 http://yas-hummingbird.blogspot.com/2008/12/backgroundworker.html 3番目の質問はThreadを使いやすく構成したのがBackgroundWorkderであるので使いやすいから、使える場合ならこっち使えよというイメージかなと思っております。

関連するQ&A