了解BackGroundWorker.RunWorkerCompleted事件结束
本文关键字:结束 事件 RunWorkerCompleted BackGroundWorker 了解 | 更新日期: 2023-09-27 17:58:30
我在代码中使用后台工作者类作为
private void bwFilter_DoWork(object sender, DoWorkEventArgs e)
{
//Some Code
}
private void bwFilter_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
//Some code
}
现在我把点击按钮中的事件称为
btnClick_Click(Object Sender,EventArgs e)
{
bwFilter.RunWorkerAsync();
}
现在我想在完成bwFilter_RunWorkerCompleted之后在btClick中做一些事情。我尝试了以下操作,但导致陷入僵局
btnClick_Click(Object Sender,EventArgs e)
{
bwFilter.RunWorkerAsync();
While(bwFilter.IsBusy)
{
Continue;
}
//Start coding Again Here
}
等待后台工作程序完成完全不利于使用工作程序。并不可避免地导致僵局。
所以不用麻烦,直接调用bwFilter_DoWork()。
使用RunWorkerCompleted
事件,请参阅http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.runworkercompleted.aspx
bwFilter.RunWorkerCompleted += (s, e) => { ... do something ... };
bwFilter.RunWorkerAsynch();