Показывать прогресс, только если фоновая операция долгая

Я разрабатываю операцию C # и хочу показать модальное диалоговое окно выполнения, но только тогда, когда операция будет длительной (например, более 3 секунд). Я выполняю свои операции в фоновом потоке.

Проблема в том, что я не знаю заранее, будет ли операция длинной или короткой.

Некоторое программное обеспечение, такое как IntelliJ , имеет доступ к таймеру. Если операция занимает больше x времени, тогда покажите диалоговое окно.

Как вы думаете, что это хороший шаблон для реализации этого?

  • Подождите поток пользовательского интерфейса с таймером и покажите там диалог?
  • Должен ли я DoEvents () , когда я показываю диалоговое окно?

6
задан halfer 17 December 2017 в 01:28
поделиться