当我的C#应用程序关闭时,有时会被清除程序中.具体来说,后台工作人员没有关闭.这基本上是我试图关闭它:
private void App_FormClosing(object sender,FormClosingEventArgs e)
{
backgroundWorker1.CancelAsync();
while(backgroundWorker1.IsBusy); //卡在这里
}
有不同的方式我应该这样做吗?我正在使用Microsoft Visual C#2008 Express Edition.谢谢.
附加信息:
private void backgroundWorker1_DoWork(object sender,DoWorkEventArgs e) { while (!backgroundWorker1.CancellationPending) { // Do something. } }
private void App_FormClosing(object sender,FormClosingEventArgs e) { while (backgroundWorker1.IsBusy) { backgroundWorker1.CancelAsync(); System.Threading.Thread.Sleep(1000); } }
还有什么我应该做的吗?