■No33975 (hirosi さん) に返信
> BackGroundWorkerを使用して、バックグラウンドで処理をしています。
BackGroundWorker ではなく、
BackgroundWorker ですよね。
> if(_BackGroundWorker.IsBusy)
> {
> _BackGroundWorker.CancelAsync();
> }
> _BackGroundWorker.RunWorkerAsync(パラメータ);
Cancel『Async』というだけあって、このキャンセル処理は非同期的に行われます。
CancelAsync したからといって、その直後にビジー状態を脱するわけではありません。
直ちに続行させたいのなら、別の BackgroundWorker に処理を依頼してください。
単一の BackgroundWorker で行いたいなら、次の作業は
RunWorkerCompleted が発生してから依頼するようにします。