如何延迟c#中函数的执行

时间:2017-03-03 04:22:59

标签: c# timer

在我的应用程序中,我需要延迟执行一段时间的方法。为此,我使用了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();
    }

这完美无缺。

但我不知道这是否是延迟执行的确切方法。

还有其他有效的方法来实现这个目标吗?

请分享您的建议。提前谢谢。

3 个答案:

答案 0 :(得分:0)

尝试使用 Task.Delay 。您可以像这样使用它:

Task.Delay(1000).Wait();
DoSomething();

希望它有所帮助!

答案 1 :(得分:0)

你可以开始一个任务并延迟,但是,你这样做的方式,你将在你的UI线程上得到一个回调,这样你就可以与windows表单进行交互,如果那是你的延迟函数的话。

答案 2 :(得分:0)

您可以在.Net 4.0中使用Thread.Sleep()。但是,它会阻止当前线程。