Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
zombie
0 / 0 / 0
Регистрация: 02.11.2009
Сообщений: 29
1

DownloadFileAsync: как определить, какой файл сейчас скачивается

16.05.2012, 17:58. Просмотров 1292. Ответов 4
Метки нет (Все метки)

Всем доброго времени суток!

У меня есть несколько файлов, которые я хочу скачать
все они занесены в ListView и напротив каждого есть ProgressBar

Далее я все скачиваю с помощью WebClient.DownloadFileAsync

C#
1
2
3
4
5
6
7
8
private void download(int i, string savepath, string format)
{
     WebClient wc = new WebClient(); 
     wc.DownloadProgressChanged += new           
     DownloadProgressChangedEventHandler(wc_DownloadProgressChanged);
     wc.DownloadFileCompleted += new AsyncCompletedEventHandler(wc_DownloadFileCompleted);
     wc.DownloadFileAsync(new Uri(LV.Items[i].SubItems[1]), savepath + format);
}
И все вроде отлично, только "находясь" в wc_DownloadProgressChanged я понятия не имею, какой именно файл скачиваю => не могу заполнить ProgressBar.

Подскажите пожалуйста, как решить эту проблему. (Скачивать по очереди - не вариант)

Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2012, 17:58
Ответы с готовыми решениями:

Как программно определить какой язык сейчас включен!?
Как программно определить какой язык сейчас активен!? те кто не понял...

Апдейт программы, не всегда скачивается файл или скачивается не полностью. Посоветуйте решение...
Здравствуйте! Апдейтю программу, качаются файлы. Но бывает, что один из файлов...

Как определить, какой процесс в данный момент использует файл? Хочу написать бесплатный аналог Unlocker
Просто Unlocker требует установки и он платный:(

Как определить какое окно у пользователя активное сейчас
Как определить какое окно у пользователя активное сейчас ? если можно то с...

Этот файл сейчас используется.Укажите другое....
Добрый день! Вопрос может быть и глупый, но все же! Ниже приведен код для...

4
I2um1
Злой няш
1407 / 1105 / 374
Регистрация: 05.04.2010
Сообщений: 1,949
16.05.2012, 18:59 2
Почитайте это. Лично я бы ProgressBar'ом показывал количество скаченных файлов, хотя же все зависит от того количества, которое надо скачать.
0
zombie
0 / 0 / 0
Регистрация: 02.11.2009
Сообщений: 29
17.05.2012, 01:54  [ТС] 3
Я прочел уже кучу подобных примеров, они отлично работают если мы качаем один файл и у нас один ProgressBar
У меня же много файлов - много ProgressBar'ов (допустим, они лежат а списке).
C#
1
2
3
4
private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
  progressBar.Value = e.ProgressPercentage; //как здесь мне узнать, какому прогрессбару назначить значение??
}
0
turbanoff
Эксперт Java
4017 / 3752 / 741
Регистрация: 18.05.2010
Сообщений: 9,329
Записей в блоге: 11
Завершенные тесты: 1
17.05.2012, 12:48 4
ProgressChanged скорее всего генерирует сам WebClient, поэтому можно сохранить их в какую-нибудь коллекцию.
При возникновении события, sender будет как раз тем клиентом, который вызвал событием. Ищете этот клиент в коллекции и определяете нужный прогресс бар.
1
zombie
0 / 0 / 0
Регистрация: 02.11.2009
Сообщений: 29
18.05.2012, 00:54  [ТС] 5
Цитата Сообщение от turbanoff Посмотреть сообщение
ProgressChanged скорее всего генерирует сам WebClient, поэтому можно сохранить их в какую-нибудь коллекцию.
При возникновении события, sender будет как раз тем клиентом, который вызвал событием. Ищете этот клиент в коллекции и определяете нужный прогресс бар.
Отлично, спасибо, все работает.
0
18.05.2012, 00:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2012, 00:54

Определить, на скольких компах сейчас запущено приложение
Как возможно определить, сколько человек запустили мое приложение? Точнее,...

Как определить из какой подсети ip адрес?
Здравствуйте. Собственно есть сети: 10.0.0.0/24 10.0.1.0/24 10.0.2.0/25 ...

DownloadFileAsync завершает цикл
Не могу понять в чем дело. Если запускать не пошагово, то ,после i = ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru