快速问题 – 是否可以让两名后勤工作人员同时运行?我似乎记得尝试过这一次并得到一个错误,并且似乎还记得读到你只能有一个…我找不到另一个线程,谈论有多个明确但…
@H_301_2@任何想法都非常感谢!
@H_301_2@干杯
解决方法
您可以拥有尽可能多的后台工作人员并同时运行.例:
var worker1 = new BackgroundWorker { WorkerReportsProgress = true }; var worker2 = new BackgroundWorker { WorkerReportsProgress = true }; DoWorkEventHandler doWork = (sender,e) => { for (int i = 0; i < 10; i++) { var progress = (int)((i + 1) * 100.0 / 10); var worker = (BackgroundWorker)sender; worker.ReportProgress(progress); Thread.Sleep(500); } }; worker1.DoWork += doWork; worker2.DoWork += doWork; worker1.ProgressChanged += (sender,e) => { label1.Text = e.ProgressPercentage.ToString(); }; worker2.ProgressChanged += (sender,e) => { label2.Text = e.ProgressPercentage.ToString(); }; worker1.RunWorkerAsync(); Thread.Sleep(1000); worker2.RunWorkerAsync();