2
我已经在堆栈溢出中看到了一些关于使用Timer
类来做我想做的事情的参考资料,但我不相信这是正确的解决方案。让Winforms应用程序等待几分钟后再继续
基本上,我有一个按钮(在.NET 4.0中),当点击会经过几个不同的子程序和做某些事情:
- 重新启动一些服务
- 启动命令行应用程序完成自动
- 启动自动完成
- 启动第三命令行应用程序,自动完成
我现在面临的问题是,程序只是通过每一件事情并尽快将其关闭 - 除了第三个命令行应用程序必须仅在前三个完成之后触发外,这不是问题。
我有一个sleep
调用的代码,除了这冻结了用户界面,我有这个应用程序,我想更新,让用户知道事情正在发生的状态栏。
我正在考虑Timer
对象,但我不确定那会在做下一件事情之前真正导致暂停。
我正在使用Process.Start
方法来关闭命令行应用程序,因此它实际上并不引发事件。我应该只是让我的子程序提出一个事件,然后让第三个方法等待事件在它发生之前触发?
'Await Task.Delay(x)' – SLaks
应该提到我试图坚持.NET框架4.0。看起来这只是4.5。 –
从NuGet安装'Microsoft.Bcl.Async' – SLaks