如何在C#中为程序添加延迟?
答案 0 :(得分:147)
您可以使用Thread.Sleep()
功能,例如
int milliseconds = 2000;
Thread.Sleep(milliseconds);
停止执行当前线程2秒钟。
无论如何,这不符合您的需求......您到底想要完成什么?
答案 1 :(得分:44)
使用间隔设置为2-3秒的计时器。
您有三种不同的选项可供选择,具体取决于您正在编写的应用程序类型:
System.Timers.Timer
System.Windows.Forms.Timer
System.Threading.Timer
不要使用Thread.Sleep
,因为这会完全锁定线程并阻止它处理其他消息。假设一个单线程应用程序(与大多数应用程序一样),整个应用程序将停止响应,而不是像你想要的那样暂停。
答案 2 :(得分:36)
你应该做2.3秒:
System.Threading.Thread.Sleep(2300);
答案 3 :(得分:7)
System.Threading.Thread.Sleep(
(int)System.TimeSpan.FromSeconds(3).TotalMilliseconds);
或使用using
语句:
Thread.Sleep((int)TimeSpan.FromSeconds(2).TotalMilliseconds);
我更喜欢1000 * numSeconds
(或简称为3000
),因为它更明显地告诉那些之前没有使用Thread.Sleep
的人。它更好地记录了你的意图。