标签文本无法正确更新

时间:2017-11-16 15:44:14

标签: c# winforms

我有以下代码来更新我的UI。

private async void startButton_Click(object sender, EventArgs e) {
    progressBar.Maximum = 100;
    progressBar.Step = 1;
    fileListView.Items.Clear();

    var progress = new Progress<ProgressData>(pdata => {
        currentFileLabel.Text = pdata.CurrentFile;
        totalFilesLabel.Text = pdata.CurrentIndex + "/" + pdata.FileCount;
        progressBar.Value = pdata.Progress;
        fileListView.Items.Add(new ListViewItem(new string[] {
            pdata.CurrentIndex.ToString(),
            pdata.OldFileName,
            pdata.NewFileName,
            pdata.FileExtension
        }));
    });

    await Task.Run(() => Rename(progress));
}

此代码未正确更新 currentFileLabel totalFileLabel 。它们仅在重命名方法完成其工作后更新。但是 fileListView progressBar 会在没有问题的情况下进行更新。

如果我删除

fileListView.Items.Add
方法,现在标签也会正确更新。

如何正确更新所有UI控件?

0 个答案:

没有答案