1

次のコードを使用すると、バックグラウンド ワーカーRunWorkerCompletedが呼び出されず、その理由がわかりません。

void startWaitScan()
{
    backgroundWorker1.RunWorkerAsync();
}

void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
    // do something here
}

void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
    Console.WriteLine("BackgroundWorker1_RunWorkerCompleted");
    if (!stopAsync)
    {
        backgroundWorker1.RunWorkerAsync();
    }
}

私の目標は、バックグラウンド ワーカーを継続的に実行することです。これは .NET で動作していましたが、C# でコードを書き直すと、この問題が発生します。

4

1 に答える 1

9

すべてのイベントが正しく接続されていますか??

 backgroundWorker1.DoWork += new DoWorkEventHandler(backgroundWorker1_DoWork);
 backgroundWorker1.RunWorkerCompleted += new RunWorkerCompletedEventHandler(
                                                 backgroundWorker1_RunWorkerCompleted);
于 2013-07-16T19:39:50.850 に答える