c 實現計時器功能

2022-09-28 03:12:09 字數 1450 閱讀 5369

在低液位預警彈窗點選確定後需要實現乙個計時器,比如在五分鐘後再執行監控。

實現思路是使用timer然後每秒執行乙個方法,在方法中對秒數進行減1操作,等倒計時結束後執行相應的操作。

但是timer有三個

1.定義在system.windows.forms裡  

2.定義在system.threading.timer類裡  

3.定義在system.timers.timer類裡

一開始使用的是system.windows.forms裡面的

system.windows.forms.timer是應用於winform中的,它是通過windows訊息機制實現的,類似於vb或delphi中的timer控制項,內部使用api  settimer實現的。它的主要缺點是計時不精確,而且必須有訊息迴圈,console  application(控制台應用程式)無法使用。

使用**示例:

新建定時器類物件

system.windows.forms.timer _timer = new system.windows.forms.timer();

設定執行的間隔時間,單位毫秒

_timer.interval = 1000;

設定間隔時間內執行的方法

_timer.tick +=_timer_tick;

private void _timer_tick(object sender, eventargs e)

啟動計時器

_timer.start();

停止計時器

_timer.stop(程式設計客棧);

但是發現此定時器並不執行,其每秒執行一次的方法不執行,原來其在控制台程式中沒法使用

所以改為了system.time程式設計客棧rs.timer

新建定時器物件並設定執行的間隔時間為1秒

system.timers.timer _timerwatertank = new system.timers.timer(1000);//例項化timer類,設定間隔時間為1000毫秒;

設定定時器的執行事件

_timerwatertank.elapsed += new system.timers.elapsedeventhandler(_timerwatertank_tick);//到達時間的時候執行事件;

設定是執行一次還是一直執行

_timerwatertank.autoreset = true;//設定是執行一次(false)還是一直執行(true);

具體執行的事件方法

private void _timerwatertank_tick(object sender, eventargs e)

}

這樣讓定時器一秒執行一次方法,在此方法中將秒數減1,這樣在秒數到0的時候執行具體的業務。

啟動定時器

timer.enabled = true;

停止計時器

timer.enabled = false;

js實現倒數計時器功能

正在學習js的路程中,今天知道了如何實現簡單倒數計時的功能,比如說,可以用於設計考試定時功能,不是從0開始計時,而是從最後的規定時長開始,如02 00 00一直到00 00 00 現在開始學習,未設定天數的功能 首先,我們要明白幾個方法,1.setinterval 方法可以按照指定的週期 以毫秒計 ...

sdl實現計時器

如果閃退,請更換字型路徑。效果圖 視窗類 class window 析構函式 window 填充視窗 白色 void fullwindow 重新整理視窗 void reflush 文字類 class font 析構函式 font 把文字載入成texture sdl texture loadtex c...

C 中計時器的實現

starttime datetime.now dispatchertimer dt new dispatchertimer dt.interval new timespan 0,0,1 dt.tick new eventhandler dt tick 呼叫函式 dt.start void dt ti...