關於C 中timer類

2022-04-25 00:46:32 字數 1980 閱讀 3298

關於c#中

timer

類 在c#裡關於定時器類就有3個

1.定義在system.windows.forms裡

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

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

system.timers.timer和system.threading.timer非常類似,它們是通過.net thread pool實現的,輕量,計時精確,對應用程式、訊息沒有特別的要求。system.timers.timer還可以應用於winform,完全取代上面的timer控制項。它們的缺點是不支援直接的拖放,需要手工編碼。

例1:使用system.timers.timer類

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

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

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

t.enabled = true;//是否執行system.timers.timer.elapsed事件;

public

void theout(object

source, system.timers.elapsedeventargs e)

例2:system.threading.timer類的timercallback 委託

system.threading.timer 是乙個使用**方法的計時器,而且由執行緒池執行緒服務,簡單且對資源要求不高。

只要在使用 timer,就必須保留對它的引用。對於任何託管物件,如果沒有對 timer 的引用,計時器會被垃圾**。即使 timer 仍處在活動狀態,也會被**。當不再需要計時器時,請使用 dispose 方法釋放計時器持有的資源。

使用 timercallback 委託指定希望 timer 執行的方法。計時器委託在構造計時器時指定,並且不能更改。此方法不在建立計時器的執行緒中執行,而是在系統提供的執行緒池執行緒中執行。

建立計時器時,可以指定在第一次執行方法之前等待的時間量(截止時間)以及此後的執行期間等待的時間量(時間週期)。可以使用 change 方法更改這些值或禁用計時器。

應用場景:在windows form程式自動執行某項工作後,希望其windows form能夠自動關閉。

**設計:

(1)首先宣告timer變數:private system.threading.timer timerclose;

(2)在上述自動執行**後面新增如下timer例項化**:

// create a timer thread and start it

timerclose = new system.threading.timer(new timercallback(timercall), this, 5000, 0);

timer構造函式引數說明:

callback:乙個 timercallback 委託,表示要執行的方法。

state:乙個包含**方法要使用的資訊的物件,或者為空引用(visual basic 中為 nothing)。

duetime:呼叫 callback 之前延遲的時間量(以毫秒為單位)。指定 timeout.infinite 以防止計時器開始計時。指定零 (0) 以立即啟動計時器。

period:呼叫 callback 的時間間隔(以毫秒為單位)。指定 timeout.infinite 可以禁用定期終止。

(3)定義timercallback委託要執行的方法:

private void timercall(object obj)

當然,除了使用上述system.threading.timer類的timercallback 委託機制外,應該還有很多其他的辦法。另外,這裡只是demo了timercallback委託的簡單應用。

關於C 中timer類

關於c 中timer類 在c 裡關於定時器類就有3個 1.定義在system.windows.forms裡 2.定義在system.threading.timer類裡 3.定義在system.timers.timer類裡 例 使用system.timers.timer類 system.timers....

關於C 中timer類

關於c 中timer類 在c 裡關於定時器類就有3個 1.定義在system.windows.forms裡 2.定義在system.threading.timer類裡 3.定義在system.timers.timer類裡 例1 使用system.timers.timer類 system.timers...

關於C 中的Timer

關於c 中timer類 在c 裡關於定時器類就有3個 1.定義在system.windows.forms裡 2.定義在system.threading.timer類裡 3.定義在system.timers.timer類裡 例 使用system.timers.timer類 system.timers....