在Winform打开时更改标签文本

时间:2013-05-25 14:28:42

标签: c# winforms file-upload progress-bar label

我正在尝试在进度条中显示后更改标签的文本, 我想显示正在上传的文件数量,以及到目前为止的数量。

我创建了一个ProgressBar winform,我的(初学者)计划是这样做的:

public StatusUpload(String saved)
    {
        InitializeComponent();
        timer1.Start();
        timer1.Enabled = true;
        AmountSaved.Text = saved;
    }

但是当我尝试从另一个班级改变它时, 我只能在开头定义它

StatusUpload Progressbar = new StatusUpload("Total Saved: 0/" + selection.Count);

以后再也不能改变它,我该怎么办? (我想稍后在循环中更改它,以便我可以写1/2,然后在最后的循环2/2之后)

1 个答案:

答案 0 :(得分:2)

如果你在后台做了很大的工作量。我建议使用后台工作者:http://msdn.microsoft.com/de-de/library/system.componentmodel.backgroundworker.aspx

要在上传数据时生成Backgroundworker。然后您订阅事件:

public event DoWorkEventHandler DoWork

将您的上传代码放在此处。在你完成1/2文件后,你打电话给ReportProgress(1);

   public event ProgressChangedEventHandler ProgressChanged

如果您拨打ReportProgress();,则会抛出此消息。然后使用以下命令更新进度条:

this.yourProgressBar.Value = e.ProgressPercentage;

}

public event RunWorkerCompletedEventHandler RunWorkerCompleted

是你完成工作后抛出的事件。