c中timer控制元件的用法
c中timer控制元件的用法的用法你知道嗎?下面小編就跟你們詳細介紹下c中timer控制元件的用法的用法,希望對你們有用。
c中timer控制元件的用法的用法如下:
關於C#中timer類 在C#裡關於定時器類就有3個
1.定義在s裡
2.定義在r類裡
3.定義在r類裡
r是應用於WinForm中的,它是通過Windows訊息機制實現的,類似於VB或Delphi中的Timer控制元件,內部使用API SetTimer實現的。它的主要缺點是計時不精確,而且必須有訊息迴圈,Console Application(控制檯應用程式)無法使用。
r和r非常類似,它們是通過 Thread Pool實現的,輕量,計時精確,對應用程式、訊息沒有特別的要求。r還可以應用於WinForm,完全取代上面的Timer控制元件。它們的缺點是不支援直接的拖放,需要手工編碼。
例:
使用r類
r t = new r(10000);
//到達時間的時候執行事件;
sed += new sedEventHandler(theout);
Reset = true;//設定是執行一次(false)還是一直執行(true);
led = true;//是否執行sed事件;
====================================
自己寫的一個用r類的方法
複製程式碼 程式碼如下:
public class BF_CheckUpdate
{
private static object LockObject = new Object();
// 定義資料檢查Timer
private static Timer CheckUpdatetimer = new Timer();
// 檢查更新鎖
private static int CheckUpDateLock = 0;
///
/// 設定資料檢查Timer引數
///
internal static void GetTimerStart()
{
// 迴圈間隔時間(10分鐘)
rval = 600000;
// 允許Timer執行
led = true;
// 定義回撥
sed += new ElapsedEventHandler(CheckUpdatetimer_Elapsed);
// 定義多次迴圈
Reset = true;
}
///
/// timer事件
///
///
///
private static void CheckUpdatetimer_Elapsed(object sender, ElapsedEventArgs e)
{
// 加鎖檢查更新鎖
lock (LockObject)
{
if (CheckUpDateLock == 0) CheckUpDateLock = 1;
else return;
}
//More code goes here.
//具體實現功能的方法
Check();
// 解鎖更新檢查鎖
lock (LockObject)
{
CheckUpDateLock = 0;
}
}
}