在我的應用程序中,我需要延遲執行一段時間的方法。爲此,我使用了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 /如何在幾秒後調用方法 –