本篇内容主要讲解“C#中的延时函数怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#中的延时函数怎么使用”吧!
C#一些延时函数
sleep延时方法
System.Threading.Thread.Sleep(1000); //毫秒
实现的是非独占性延时函数,延时过时中界面仍可响应消息:
public static void Delay(int milliSecond){ int start = Environment.TickCount; while (Math.Abs(Environment.TickCount - start) < milliSecond)//毫秒 { Application.DoEvents();//可执行某无聊的操作 }}
关于Math.Abs()
Environment.TickCount,内部API是用DWORD GetTickCount()来实现的,该属性的值从系统计时器派生,并以 32 位有符号整数的形式存储。
因此,如果系统连续运行,TickCount 将在约 24.9 天内从零递增至 Int32. MaxValue ,然后跳至 Int32. MinValue (这是一个负数),再在接下来的 24.9 天内递增至零。
DWORD是无符号的,而 Environment.TickCount属性返回的值是有符号的,所以有一半的值用负数表示!
C#准确延时函数
最近一段时间用C#写了一个上位机,由于需要用到延时函数,所以给大家分享一个准确延时函数
大家在网上一定找到过这个延时函数
用是能用,但是有一个致命问题,就是大于一分钟的延时会陷入无限死循环,于是修改了博主师傅修改了一下,修改的原理也很简单,大家可以自己理解领会,以下是修改的源码:
public bool Dalay(int ms){ DateTime now = DateTime.Now; int s; do { TimeSpan spand = DateTime.Now - now; s = spand.Minutes * 60 * 1000 + spand.Seconds * 1000 + spand.Milliseconds; Application.DoEvents(); } while (s < ms); return true;}
到此,相信大家对“C#中的延时函数怎么使用”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!