直到方法完成,进度条的进度才会更新

时间:2018-10-29 08:56:04

标签: c# winforms

我有进度条,我正在从其他班级的方法更新。 我的问题是,它仅在方法完成得太100%时才更新,而不会像我期望的那样在while循环的每次迭代时更新。 按照我的代码,我没有使用BackgroundWorker。如果没有我的代码我将不满意 名为Creator的类,在该类中,我具有名为create的方法,该方法具有很长的while循环:

public void create(IProgress<int> progress){
            while(startTime < endTime){
              ...
                startTime += steps;
                progress.Report((startTime/endTime)*100);
            }
        }

在主要形式中,我有该方法:

 void UpdateProgressBar(int value)
    {
        //This code is invoked on the UI thread
        progressBar.Value = value;

    }

然后像这样直接调用create方法:

Creator creator = new creator();
var progress = new Progress<int>(UpdateProgressBar);
Task.Run(() => creator.create(progress);

0 个答案:

没有答案