| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > .NET для новичков > Background Worker |
| Автор: fromrus 7.5.2008, 19:44 | ||||||||
пытаюсь настроить прогрессБар под копирование файлов.Для этого использую BW/вот код класса,где присутствует метод копирования :
А вот кнопка по которой копируется папка(ну во обще-то она как раз и не копируется):
ну и соответственно события worker'a:
никак не одупляю че передавать в аргумент RunWorkerAsync....Помощи прошу! Добавлено через 2 минуты и 38 секунд эт забыл написать..))))
Но проблема та же! |
| Автор: vponomarov 7.5.2008, 20:43 |
| на сколько я понимаю тебе нужно передавать в RunWorkerAsync список файлов, которые необходимо скопировать. или вообще ничего не передавай, если список получается каким-то другим образом. проблема не совчем понятна... |
| Автор: fromrus 8.5.2008, 00:51 |
| надо чтоб файлы копировались в рабочем потоке,а прогресс бар отображал бы этот прогресс.Я не понимаю что передавать в параметр RunWorkerAsync...Если ничего не передавать вылезет тот же ексепшн,что и сейчас |
| Автор: mr.DUDA 8.5.2008, 09:49 | ||
Туда передаётся любой произвольный объект, который потом примет твой метод bw_DoWork через e.Argument. Естесственно, что в bw_DoWork объект приводить нужно явно:
|
| Автор: Ram1reS 8.5.2008, 10:07 | ||
Таким образом можно организовать копирование файлов в BackgroundWorker. Не совсем понятно как Вы собирались обновлять прогрессбар... Вам надо сначало узнать сколько всего элементов будут копироваться, установить это число в progressBar.Maximum, вести счетчик уже скопированных элементов и этим числом обновлять progressBar.Value (вызовом BackgroundWorker.ReportProgress(FilesCopied)) + у BackgroundWorker должен стоять флажок WorkerReportsProgress. |