私はこの問題を抱えています:私のフォームにはプログレスバーとラベルがあります.私の目標は、ダウンロードの進行状況を表示し、ラベルにバイト数を表示することです. 値がバックグラウンド ワーカーからのものであるため、次のコードを使用します。
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 をダウンロードしました。ラベルには 10000 のうち 5000 が正しく表示されますが、バーは 50 ではなく 30% のようです...
どうすればこれを解決できますか?
前もって感謝します