Проблема с фоновым рабочим

может кто-нибудь знает какие-либо альтернативы progressbar? В моем проекте я использую индикатор выполнения. Я хотел бы изменить его на что-то вроде вращающегося изображения gif, которое указывает на обработку или какие-то другие метки, которые не позволяют пользователю взаимодействовать с программой. Я попытался реализовать изображение gif с помощью фонового рабочего, но его зависание может быть связано с огромным процессом передачи файлов. Поэтому я ищу другую альтернативу, например метку, которая не позволит пользователю взаимодействовать с программой и показывает прогресс в %. Может ли кто-нибудь помочь мне в этом?


person ammu    schedule 29.12.2009    source источник


Ответы (2)


Вы должны выполнять длительную передачу файлов в фоновом режиме, а не анимированный gif.

person Onots    schedule 29.12.2009

Судя по вашему описанию, вы делаете что-то не так. Именно длинная загрузка должна выполняться в BackgroundWorker, а не индикатор выполнения/картинка. Обновления прогресса должны запускаться в основном потоке пользовательского интерфейса. Используйте метод ReportProgress, чтобы сообщить пользовательскому интерфейсу, когда он должен обновляться. Реализация BackgroundWorker автоматически вызывает для вас Invoke, чтобы обновления пользовательского интерфейса выполнялись в правильном потоке.

person Mark Byers    schedule 29.12.2009