Я видел несколько ссылок на Stack Overflow об использовании класса Timer
, чтобы делать то, что хочу, но я не уверен, что это правильное решение проблемы.Наличие приложения winforms ждет несколько минут, прежде чем продолжить
В принципе, у меня есть кнопка (в .NET 4.0), при нажатии будет проходить через несколько различных подпрограмм и делать определенные вещи:
- Restart некоторые услуги
- запустить приложение командной строки, которая заканчивается автоматически
- Запустите второе приложение командной строки, которая заканчивается автоматически
- запустить приложение третьей командной строки, которая заканчивается автоматически
Проблема, с которой я сейчас сталкиваюсь, заключается в том, что программа просто проходит через каждую вещь и срабатывает как можно быстрее - не проблема, за исключением того, что приложение третьей строки командной строки должно только после завершения первых трех.
У меня был код sleep
, за исключением того, что это заморозило пользовательский интерфейс, и у меня есть строка состояния в этом приложении, в которой я хотел иметь обновление, чтобы пользователь знал, что происходит.
Я думал о объекте Timer
, но я не уверен, что на самом деле это приведет к паузе, прежде чем делать следующее.
Я использую метод Process.Start
для запуска приложений командной строки, поэтому он фактически не вызывает событие. Должна ли я просто подпрограмме поднять событие, а затем третий метод Process.Start
ждать, пока это событие не сгорит?
'Await Task.Delay (х)' – SLaks
следовало бы упомянуть, что я пытаюсь придерживаться .NET Framework 4.0. Похоже, это всего 4,5. –
Установите 'Microsoft.Bcl.Async' из NuGet – SLaks