代码之家  ›  专栏  ›  技术社区  ›  SamP

根据进程pourcentage C动态更新进度条值#

  •  1
  • SamP  · 技术社区  · 10 年前

    我创建了一个应用程序,在其中我从excel文档读取数据。我正在使用后台工作者执行所有耗时的任务。如何显示进度条中完成的工作百分比?

    我知道存在Report_Progress事件,但这是否意味着我需要指定硬编码值?

    有什么方法可以让我得到总工作量的百分之多少?

    在复制时,我想指定一个示例,比如窗口如何显示其进度条,以及它如何按照复制的数据百分比递增。

    请帮帮我

    谢谢

    1 回复  |  直到 10 年前
        1
  •  0
  •   hacene abdessamed    10 年前
    BackgroundWorker backgroundWorker = new BackgroundWorker();
    
    backgroundWorker.WorkerReportsProgress = true;
    backgroundWorker.WorkerSupportsCancellation = true;
    backgroundWorker.DoWork += new DoWorkEventHandler(backgroundWorker1_DoWork);
    backgroundWorker.ProgressChanged += new ProgressChangedEventHandler(backgroundWorker1_ProgressChanged);
    
    void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
    { 
        backgroundWorker.ReportProgress(yourprogress);
    }
    
    void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
    {
                 Messagebox.show(e.ProgressPercentage.toString())
                 /// update you progressbar here with e.ProgressPercentage
                 progressBar.Value = e.ProgressPercentage;
    
    }
    

    你可以找到另一个例子 here