c# Winform -学习async/await -如何更新进度条

本文关键字:更新 学习 Winform async await 何更新 | 更新日期: 2023-09-27 18:18:18

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

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

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

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

c# Winform -学习async/await -如何更新进度条

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