電子書籍の厳選無料作品が豊富!

C# 2005で、backgroundworker1.RunWorkerAsync(100);とした場合は、
DoWorkイベントでbgWorkerArgが以下のように100になるのはわかりますが、
int bgWorkerArg = (int)e.Argument;

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

あと、DoWorkイベントの中で
// senderの値はbgWorkerの値と同じ
BackgroundWorker woker = (BackgroundWorker)sender;
としているサンプルを見つけましたが、この後 workerは一般的に何に使うのでしょうか?サンプルでは、何も使っていませんでした。

Threadよりbackgroundworkerを使うように書かれているものも見ましたが
薦めている理由も知りたいです。

A 回答 (2件)

> 例えば2つの文字列を送る場合や、構造体を送ることは可能でしょうか?


> 簡単なサンプルがあれば助かります。

RunWorkerAsyncの引数はobjectなのでなんでも送れます。
サンプルを示すまでもないでしょう。
    • good
    • 0

2番目の質問についてですが、Cancelされたか調べるのに使うようです。


次のところに使い方が書いてあります。
CancellationPendingプロパティです。
http://yas-hummingbird.blogspot.com/2008/12/back …

3番目の質問はThreadを使いやすく構成したのがBackgroundWorkderであるので使いやすいから、使える場合ならこっち使えよというイメージかなと思っております。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!