读取MPP文件时如何运行进度栏?

时间:2018-08-21 18:25:47

标签: c# mpxj

我正在尝试在读取文件时运行进度条。我不确定该怎么做。非常感谢您的帮助。代码如下:

 UploadProgressBar.Visible = true; 
 UploadProgressBar.Value = 0;
 CurrentFile = reader.read(CurrentFileName); //need progress bar running during this code
 UploadProgressBar.Value = 100;
 UploadProgressBar.Visible = false;
 CurrentFileLabel.Text = CurrentFileName;

1 个答案:

答案 0 :(得分:0)

您必须在另一个线程中执行读取操作,因为这样会阻塞UI线程。

这里有2个选项:

  1. 保留当前适用的设置
  2. 在另一个线程上启动您的操作:
    await Task.Run(async() => CurrentFile = reader.read(CurrentFileName));

这里的问题是,如果您的read()没有回调通知您进度,则您将无法根据操作进度更新进度参数。在此处实施无限进度条可能是更简单的选择。