【问题标题】:C# Winform - Learning async/await - How to update progressbarC# Winform - 学习 async/await - 如何更新进度条
【发布时间】:2016-11-16 16:02:13
【问题描述】:

我有一个简单的winform,带有一个按钮和一个工具条进度条。按钮后面的代码是:

    private async void button1_Click(object sender, EventArgs e)
    {
        await Task.Run(() =>
        {
            var path = @"W:\Records";

            var files = DirectoryLister.GetFileNames(path);

        });
    }

单击按钮会调用静态类中的静态方法,该方法会返回一个IEnumerable<string>,其中包含路径及其子目录中的文件名。

我正在尝试更新进度条,但不确定如何去做。过去我使用过后台工作程序,但现在我正在尝试这种异步方式。

【问题讨论】:

  • 只需使用 IProgress。阅读它here

标签: c# async-await progress-bar


【解决方案1】:

创建一个事件并以您的进度状态提出它。主线程可以通过委托函数订阅此事件,从而更新您的进度条。

【讨论】:

  • 这是一个评论质量的答案。
猜你喜欢
  • 1970-01-01
  • 2017-08-23
  • 2015-02-11
  • 2013-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-04
  • 1970-01-01
相关资源
最近更新 更多