转载——关于C#延时
c#里的延时方法:
1.用sleep()使线程休眠。
直接在需要延时的地方插入 System.Threading.Thread.Sleep(1000); 即可。
这种方式最方便,但是延时过程中会停止其他响应,如果用在主线程中会造成程序的假死。如果有异步操作的话也会暂停,例如用webBrowser加载网页,本来希望延时一段时间等待网页加载完毕,但用sleep的话同时会暂停网页的加载过程。
2.读取当前时间判断。
可以做成一个延时函数进行调用,记录开始时间然后判断当前时间差,达到延时时间后再执行操作。一个简单的例子如下:
privatevoid delayTime(double secend)
{
DateTime tempTime =DateTime.Now;
while(tempTime.AddSeconds(secend).CompareTo(DateTime.Now)>0)
Application.DoEvents();
}
3.利用Timer,在需要延时的时候设置属性并启动,然后在时间到时执行相应代码,这里不详细描述了。
4.还有一种非主流的方法, 用 Process 调用cmd.exe 执行 "PING 127.0.0.1 -N 50" ping 一次是一秒,50次就是50秒。这种方式不光是c#,几乎所有编程语言都能用,只要能调用系统命令。批处理编程的时候很有效。