Каков наилучший способ обновления панели прогресса пользовательского интерфейса в форме Windows? - PullRequest
0 голосов
/ 10 января 2019

У меня есть программа, в которой у меня есть список обрабатываемых запросов. например:

1-й запрос { Сделать некоторые операции }

2-й запрос { Сделать некоторые операции } ...... ...

... Окончательный запрос { Сделать некоторые операции }

Я хочу, чтобы индикатор выполнения в моей форме Windows заполнялся соответствующим образом при обработке каждого запроса.

Я знаю, что многопоточность, async-await - это несколько вариантов динамического обновления пользовательского интерфейса.

Каков наилучший способ добиться минимальной загрузки процессора?

1 Ответ

0 голосов
/ 10 января 2019

Используйте async / await с заданиями или без них для выполнения длительных операций, а затем используйте Progress<int>, чтобы сообщить о ходе выполнения в пользовательский интерфейс. В блоге @Stephen Cleary есть пример:

Task.Run против BackgroundWorker, раунд 5: Отчет о прогрессе

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