在我的应用程序中,我需要延迟执行一段时间的方法。为此,我使用了System.Windows.Forms.Timer。如何在c中延迟执行一个函数#
我用下面的代码来初始化并启动定时器。
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();
}
这个效果很好。
但我不知道它是否是延缓执行的确切方法。
是否有任何其他有效的方式来实现这一目标?
请分享您的建议。提前致谢。
有很多可能的方法来延迟执行某些代码。哪一个最好取决于你没有提供的上下文。标记的副本将提供关于阻塞线程(例如,使用Thread.Sleep())和使用某种形式的异步信号/回调(例如,.NET提供的几个计时器类之一)的比较的一些见解。一个现代的C#方法在重复中没有被解决,就是使用'async'方法和'await Task.Delay(...)'。 –
另见例如https://stackoverflow.com/questions/4705535/how-to-delay-program-for-a-certain-number-of-milliseconds-or-until-a-key-is-pre和https:// stackoverflow。 com/questions/10963465 /如何在几秒后调用方法 –