Задать вопрос
Zerpico
@Zerpico

Как правильно сделать поток при копирование файлов?

Пытаюсь сделать копирование файлов с прогрессБаром. Всё в принципе работает но вот форма всё таки виснит при копирование. Может чего не так сделал при создании потока. Может кто помочь?

Сам исходник вот — pastebin.com/kNkRWMMV

P.S. Если надо могу и проект выложить
  • Вопрос задан
  • 4179 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
WNeZRoS
@WNeZRoS
InCp add = new InCp(cp);
this.Invoke(add, new object[] { path });

Этим кодом вы запускаете копирование в потоке интерфейса.
Для подобной задачи было бы уместно использовать BackgroundWorker, там есть встроенные методы обновления данных в UI потоке.
Ответ написан
hack2root
@hack2root
У BackgroundWorker нет встроенных методов обновления данных в UI потоке.

Предлагаю свой рабочий вариант для работы с BackgroundWorker:

pastebin.com/wJpqrKqu

Код для включения в WinForms

pastebin.com/Ck7KPxd8

Пример использования в дочернем классе System.Windows.Forms:

pastebin.com/J7ygJKx1
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы