中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

太谷县| 南和县| 岳阳县| 于田县| 同江市| 秦皇岛市| 海门市| 东明县| 泉州市| 南平市| 方山县| 酉阳| 疏勒县| 泌阳县| 富裕县| 泾川县| 金堂县| 虹口区| 象州县| 卢湾区| 延津县| 特克斯县| 姜堰市| 蕉岭县| 英吉沙县| 长寿区| 南皮县| 赤壁市| 南漳县| 兴仁县| 会东县| 六枝特区| 萨嘎县| 广河县| 贞丰县| 大邑县| 临湘市| 黎川县| 烟台市| 五峰| 沂源县|