Как изменить значение индикатора выполнения в C #? - PullRequest
0 голосов
/ 19 марта 2010

Я хочу добавить индикатор выполнения в свое приложение на C #. Я хотел бы знать, что является хорошим способом обновления его стоимости на определенных событиях? Моя проблема в том, что у меня есть единственная функция в пользовательском интерфейсе, которая выполняет всю обработку. Эта функция, в свою очередь, вызывает намного больше функций, создает объекты, обновляет базу данных и т. Д. (В основном выполняет всю работу) и возвращает значения в выходном файле. У меня есть доступ только к этой функции. Итак, как обновить значение индикатора выполнения в конце каждого шага?

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


Пожалуйста, предложите какое-нибудь решение. Спасибо и всего наилучшего,

1 Ответ

3 голосов
/ 19 марта 2010

Если у вас есть класс, который является вашим «рабочим классом» - класс, через который вы вызываете свою единственную функцию - тогда вы можете создать свойство Progress для этого класса. Затем, когда операция продолжается, обновите значение этого свойства и сгенерируйте событие, чтобы указать, что оно изменилось.

Вы можете определить конкретное событие ProgressChanged или, если вы используете привязку данных, использовать интерфейс INotifyPropertyChanged.

Тогда в вашем пользовательском интерфейсе: либо используйте привязку данных, либо специально прослушивайте это событие и обновите индикатор выполнения соответствующим образом.

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