Code Bye

有关C# ProgressBar的问题

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、到…..其实就是简单的量变了。
你要建立一个事件驱动的设计模型概念。扔掉那些多余的杂念。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明有关C# ProgressBar的问题