Показывать пользователю что-то, пока приложение работает? - PullRequest
0 голосов
/ 23 марта 2011

В моем приложении я использую камеру, и когда пользователь делает снимок, мое приложение кодирует его в JPEG + различные другие операции.Это занимает несколько секунд, но в результате пользовательский интерфейс перестает отвечать на запросы, а его работа = плохой пользовательский интерфейс!

Есть ли способ показать пользователю что-то - возможно, индикатор выполнения - пока приложение работает над изображением?

Ответы [ 3 ]

6 голосов
/ 23 марта 2011

Все, что вы показываете пользователю, не имеет значения, если ваша обработка происходит в потоке пользовательского интерфейса (более или менее). Вам нужно перенести свою обработку в фоновый поток (возможно, используя BackgroundWorker), и тогда пользовательский интерфейс будет достаточно отзывчивым, чтобы справиться с отображением прогресса пользователю.

1 голос
/ 23 марта 2011

Взгляните на этот URL: PerformanceProgressBar

Обратите внимание, что у стандартного индикатора выполнения есть проблемы (работа с UI-потоком), но я помню, что читал, что Microsoft поставила версию 2некоторых элементов управления.

С уважением,

М.

0 голосов
/ 23 марта 2011

Консультирование PerformanceProgressBar с целью развлечения пользователя во время работы с нагрузкой на ЦП (такой как обработка изображений) является недоразумением, так как этот индикатор выполнения потребляет более 50% ресурсов ЦП и серьезно снижает производительность.Вы найдете причину здесь .Плюс объяснение, как это сделать правильно.

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