C# winform 问一下怎么实现一个button点击实现进度条的清空重新开始,点击一次进度条开始,第二次点击进度条冲洗年开始,两次点击的是同一个button
解决方案
10
你就不能在BW取消的时候马上就开始吗?
20
用不着什么别的东西,要直截了当地按照“大白话”来设计程序,这里只需要了解一个知识点——怎么样用代码来注册和注销事件处理委托即可。
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、到…..其实就是简单的量变了。
你要建立一个事件驱动的设计模型概念。扔掉那些多余的杂念。