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;
}
Вопрос в том, как использовать один индикатор выполнения и множество веб-клиентов? Этот сценарий не работает, потому что каждый клиент обновляет панель самостоятельно, и он сходит с ума, так каков правильный путь? PS. Я не могу использовать только один WebClient, я делаю запросы раньше для каждого файла.