C # Прогресс Бар в классе? - PullRequest
2 голосов
/ 05 июля 2010

Проще говоря, каков хороший способ отправить прогресс какого-либо процесса обратно в форму изнутри класса вне области действия формы?

EG: у меня есть объект Input, путь к файлуотправляется в конструктор этого объекта, и он анализирует файл.Я хочу показать прогресс чтения в строках этого файла обратно пользователю, находящемуся в форме, выходящей за рамки текущего запущенного метода.В конечном итоге я буду отображать общий прогресс и прогресс для каждого файла.

Ответы [ 2 ]

3 голосов
/ 05 июля 2010

Добавьте событие в ваш класс, на которое может подписаться форма.UpdateProgress или что-то в этом роде.Затем ваш класс будет вызывать событие так часто, чтобы форма отображала прогресс.

2 голосов
/ 05 июля 2010

Лучшим подходом здесь будет BackgroundWorker .У него есть специальное событие ReportProgress (которое обрабатывает логику Invoke для вас).

Это простой способ сделать многопоточность.Следуйте хорошему примеру при реализации события RunWorkerCompleted.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...