在RunWorkerCompleted触发后,BackgroundWorker的OnProgressChanged事件仍然会触发。这是因为RunWorkerCompleted事件是在BackgroundWorker完成其工作后触发的,而OnProgressChanged事件是在BackgroundWorker执行任务期间,报告进度更改时触发的。
如果您希望在RunWorkerCompleted事件触发后停止OnProgressChanged事件的触发,可以在RunWorkerCompleted事件处理程序中取消订阅OnProgressChanged事件。例如:
private void backgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
backgroundWorker.ProgressChanged -= backgroundWorker_ProgressChanged;
}
这将确保在RunWorkerCompleted事件触发后,OnProgressChanged事件不再触发。
领取专属 10元无门槛券
手把手带您无忧上云