c#用invoke更新进度条和标签

时间:2012-11-08 08:52:49

标签: c# progress-bar invoke

我有这个问题:在我的表单中我有一个进度条和一个标签,我的目标是显示下载的进度和标签中的字节数。 由于值来自后台工作人员,我使用此代码:

void WebClient_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
    string sFormatted = string.Format("{0} of {1}", e.BytesReceived, e.TotalBytesToReceive);

    Invoke(new MethodInvoker(delegate
    {
        myProgressBar.Value = e.ProgressPercentage;
        myLabel.Text = sFormatted;
    }));
}

并且此代码工作正常,但进度条会在一段时间后刷新,并且标签会正确刷新:

例如:我有10000个字节要下载,我已经下载了5000个,标签显示正确5000个10000,但条形图就像是30%而不是50 ...

我该如何解决这个问题?

提前致谢

0 个答案:

没有答案