1
foreach (string line in textBox3.Lines)
{
int pos = line.IndexOf("?v=");
string videoid = line.Substring(pos + 3, 11);
GetFile(videoid);
}
GetFile() {
...code
WebClient webClient = new WebClient();
webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
webClient.DownloadFileAsync(new Uri(fileRequest), @textBox2.Text + @"\" + title + ".mp3");
}
private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage;
}
問題是如何hadle一個進度條和許多webclients?這種情況是行不通的,因爲每個客戶都在更新自己的酒吧,這很瘋狂,那麼正確的方法是什麼? PS。我不能只使用一個WebClient,我在爲每個文件提出請求之前。一個進度條與許多webclients
如果你有2個Web客戶端,一個是50%了,而另一個40%完成後,你想讓它顯示45%?例如他們的平均數? –
是的,類似的東西。但每個客戶都在發送自己的地位,他們的電話號碼是未知的<這不是問題>,但仍然不知道如何表示價值,不知道如何總結所有x進展。 – mishe
@mishe更新了我的答案,以確保getter不會被零除。這可能很重要:p –