обычно вы должны пойти дальше и написать кое-что о том, что вы уже попробовали.
Так как я думаю, что вы в большей степени на начальном уровне, я бы посоветовал заглянуть в BackgroundWorker и его событие / систему ProgressChanged (Вот введение к нему).
Конечно, вы должны переместить свой ParseTheFile-код в это.
Для более продвинутых вещей есть несколько вариантов:
* * 1010
добавить параметр к
ParseTheFile
(например,
Действие ), который используется для установки прогресса
возвращает
IObservable из вашего
ParseTheFile
, который указывает на прогресс
использовать некоторую статическую службу
ParseTheFile
использует для индикации прогресса (не рекомендуется)
... (я уверен, что другие люди найдут намного больше вариантов)
(Обратите внимание, что для большинства этих опций требуется использовать Control.Invoke , чтобы вернуться к вашему UI-потоку для установки значения индикатора выполнения, если вы используете другой поток - и я бы посоветовал вам использовать другой нить, если файл такой большой)
Для начала я бы пошел с фоновым работником - ИМХО, это нормально, если вы не хотите использовать SOLID (дизайн / принципы) при первом запуске;)