UI とバックグラウンド スレッドを持つ C# アプリがあります。ユーザー入力に基づいて、バックグラウンド スレッドを停止および開始するのが好きです。ご覧のとおり、ここには2つのオプションがあります。
1)完全に停止してから、バックグラウンドスレッドを新しいスレッドとして開始します(これはできませんでした。プロセスが終了したというメッセージが表示され続けます)
2) ユーザーが再度 [実行] をクリックするまで、バックグラウンド スレッドを一時停止します。
bw.CancelAsync(); の後に再度呼び出すコードを次に示します。
private void StartBackgroundWorker()
{
bw = new BackgroundWorker();
bw.WorkerReportsProgress = true;
bw.WorkerSupportsCancellation = true;
bw.DoWork += bw_DoWork;
bw.RunWorkerCompleted += bw_RunWorkerCompleted;
bw.RunWorkerAsync("Background Worker");
}