0
我有一個方法名稱DownloadProgressChanged。我的程序將能夠下載多個東西,所以它會有不同的進度條。 DownloadProgressChanged的問題是我不確定如何讓它使用不同的進度條,具體取決於正在下載的內容。所以基本上我想知道如果我可以傳遞progressBar名稱作爲參數調用該方法。 (就像下載其他東西一樣,progressBar2將會激活而不是progressBar1)。我的代碼如下。將進度條作爲參數傳遞?
WebClient wc = new WebClient();
wc.DownloadProgressChanged += new DownloadProgressChangedEventHandler(DownloadProgressChanged);
wc.DownloadFileCompleted += new AsyncCompletedEventHandler(DownloadFileCompleted);
void DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
double bytesIn = double.Parse(e.BytesReceived.ToString());
double totalBytes = double.Parse(e.TotalBytesToReceive.ToString());
double percentage = bytesIn/totalBytes * 100;
progressBar1.Value = int.Parse(Math.Truncate(percentage).ToString());
}
哈哈!在發佈問題後的30秒內下降。典型的StackOverflow。 –
請參閱http://stackoverflow.com/questions/2465040/using-lambda-expressions-for-event-handlers。您可以捕獲lambda中的進度條UI元素 – pm100
@ pm100如果OP不想使用lambda表達式,則可能不太理想。 –