温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C#中的延时函数怎么使用

发布时间:2022-06-09 13:45:08 来源:亿速云 阅读:459 作者:iii 栏目:开发技术

本篇内容主要讲解“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#写了一个上位机,由于需要用到延时函数,所以给大家分享一个准确延时函数

大家在网上一定找到过这个延时函数

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#中的延时函数怎么使用”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI