Добрый день, в приложении мне надо сделать загрузку файлов из списка ссылок.
Там может быть как 10 так и 20 ссылок.
На форме есть Progress Bar.
Метод в который я передаю через foreach ссылки.
private void Downloader(string link, string filepath)
{
using (WebClient wc = new WebClient())
{
wc.DownloadProgressChanged += Wc_DownloadProgressChanged;
wc.DownloadFileCompleted += Wc_DownloadFileCompleted;
wc.DownloadFileAsync(new Uri(link), filepath);
}
}
И пара событий
private void Wc_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
progressBar.Value = e.ProgressPercentage;
}
private void Wc_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
progressBar.Value = 0;
if (e.Cancelled)
{
MessageBox.Show("Загрузка прервана", "Ошибка", MessageBoxButtons.OK,MessageBoxIcon.Error);
return;
}
if (e.Error != null)
{
MessageBox.Show("Произошла ошибка во время загрузки файла","Ошибка", MessageBoxButtons.OK,MessageBoxIcon.Error);
return;
}
MessageBox.Show("Файл успешно загружен", "Сообщение",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
Все бы ничего, но после каждого файла появляется Message Box и говорит, что файл загружен. 10 файлов качает 10 MessageBox всплывает.
Как сделать, что бы загрузка началась и после того как все будет скачано по ссылкам показало, что все прошло успешно.