在我的应用程序中,我需要延迟执行一段时间的方法。为此,我使用了System.Windows.Forms.Timer。
我已使用以下代码初始化并启动计时器。
Timer timer = new Timer();
timer.Tick += Timer_Tick;
timer.Interval = 3000;
timer.Start();
在Timer.Tick事件中,我调用了应该延迟的方法,如下所示。
private void Timer_Tick(object sender, EventArgs e)
{
DoSomethingElse();
timer.Stop();
}
这完美无缺。
但我不知道这是否是延迟执行的确切方法。
还有其他有效的方法来实现这个目标吗?
请分享您的建议。提前谢谢。
答案 0 :(得分:0)
尝试使用 Task.Delay 。您可以像这样使用它:
Task.Delay(1000).Wait();
DoSomething();
希望它有所帮助!
答案 1 :(得分:0)
你可以开始一个任务并延迟,但是,你这样做的方式,你将在你的UI线程上得到一个回调,这样你就可以与windows表单进行交互,如果那是你的延迟函数的话。
答案 2 :(得分:0)
您可以在.Net 4.0中使用Thread.Sleep()。但是,它会阻止当前线程。