如何使用BeginInvoke方法更新进度条?

时间:2015-01-25 07:49:12

标签: multithreading

我读了上面几个问题的答案,但没有用? 以下代码用于在执行其他任务时更新进度条

engine.ConvertProgressEvent + = ConvertProgressEvent; engine.Convert(inputFile,outputFile);

1个句子将调用ConvertProgressEvent方法

enter code here

  private void ConvertProgressEvent(object sender,ConvertProgressEventArgs e)
 {
 int percent = (int)(100 * (e.ProcessedDuration.TotalSeconds /              e.TotalDuration.TotalSeconds))
 percent = Math.Max(0, percent);
 percent = Math.Min(100, percennt);
 BeginInvoke(new UpdateProgressDelegate(UpdateProgress), percent);
 } 

 private delegate void UpdateProgressDelegate(int percent);
 private void UpdateProgress(int percent)
   {
   progressBar1.Value = percent;
   }

2个句子用于将一个视频文件转换为另一个视频文件。进度条必须根据处理的转换细节进行更新。

但这不起作用进度条在转换完成后更新。 请给我一个并发更新进度条的解决方案。

0 个答案:

没有答案