計時器用於到指定時間呼叫委託(或說執行方法),或定時呼叫委託。
(一)timer
類名字空間:
system.threading
它主要提供在指定時間間隔內迴圈執行方法。
它的構造方法有多個,以其中乙個為例:
public
timer(timercallback callback,object state,int duetime,int period)
四個引數分別表示:
要執行的方法;包括**方法中要使用的資訊的物件;在呼叫執行的方法之前的延遲時間(毫秒);呼叫**方法的時間間隔(毫秒)
timercallback
的定義為:
public
delegate
void
timercallback(object state)
示例:static
void
main(
string
args)
static
void
printmessage(
object
objstate)
設定2000毫秒後開始呼叫執行方法,每5000毫秒執行一次,並把k傳遞到執行方法(callback委託)
說明:2000毫秒後首次執行一次**方法,然後每5000毫秒後再執行。
**委託型別已經給出,在使用時可以action委託或lambda表示式或匿名委託來定義,如下:
action
<
object
>
ffun
=delegate
(objecto);
timer timer2
=new
timer(
newtimercallback(q
=>
console.writeline(
"ok2"+
""+q.tostring())), k,
2000
, 5000
);timer timer3
=new
timer(
newtimercallback(ffun), k,
2000
, 5000
);如果終止計時器,可以使用
public
void dispose()
方法例如:設定定時器,2秒鐘後開始,每2秒呼叫一次,然後在呼叫5次(首次除外)後釋放計時器。
static
intk =1
;static
timer timer1;
static
void
main(
string
args)
static
void
printmessage(
object
objstate)
(二)system.timers.timer
類在應用程式中生成定時事件。它有乙個屬性:
autoreset
public
bool autoreset
用於設定每次指定的間隔結束時引發elapsed 事件,還是僅在指定的間隔第一次結束後引發該事件。
重要成員說明:
interval
:設定時間間隔,單位毫秒
enabled
:是否引發elapsed事件
elapsed
:事件public
event elapsedeventhandler elapsed
其中事件型別:
public
delegate
void
elapsedeventhandler(object sender,elapsedeventargs e)
sender
為timer,eventargs的重要屬性為:
public
datetime signaltime
用於觸發計時事件的時間。
示例:static
void
main(
string
args)
static
void
ontimedevent(
object
source, system.timers.elapsedeventargs e)
列印內容略。
(三)system.windows.forms.timer
用在winform中,且必須用於視窗。略。
Android 計時器Timer用法
先看段 這個例項化了乙個handler,handler可以通過message在多個執行緒通訊,我這裡做的是定時reclen加1,然後以一定的格式,顯示到rectime上 ui執行緒上的操作 final handler handler new handler super.handlemessage m...
基於 Timer 的 flex 計時器
這幾天在用flex 做網路棋牌遊戲,很多地方都要用到計時器。雖然flex 內建有個timer,但並不適合做遊戲時鐘,用起來怪怪的。自己實現了個易用介面,可用作時鐘,倒計時等。以乙個10秒到計時為例,只需建立該計時器類例項,並設定timer 事件響應函式如下 var timer mytimer new...
WML教程13 計時器(timer)
timer可以用來在使用者不進行任何操作的一段時間後,自動執行乙個任務,任何啟用card頁面的任務和使用者操作都會啟動timer,而任務進行時,timer就停止。每個card只能有乙個timer,乙個timer只能觸發乙個任務。語法如下 value為必選屬性,用來設定定時器的定時值,最小單位為0.1...