111,098
社区成员




if (bkWorker.IsBusy)
{
RunWorkerCompletedEventHandler proc = null;
proc=new RunWorkerCompletedEventHandler((sender, e) =>
{
bkWorker.RunWorkerCompleted -= proc;
bkWorker.RunWorkerAsync();
});
bkWorker.RunWorkerCompleted += proc;
bkWorker.CancelAsync();
}
else
{
bkWorker.RunWorkerAsync();
}
这里,当 (bkWorker.IsBusy 的时候,首先注册一个事件处理过程来捕获它结束事件,在事件回调中注销这个处理过程,并且立刻重新启动 bkWorker。最后就是发送一个“终止”标志信号给它。
这可能对于你就是“从0到1”的过程。从0到1往往是一个飞跃,需要悟性;而从1到2、到3、到.....其实就是简单的量变了。
你要建立一个事件驱动的设计模型概念。扔掉那些多余的杂念。