作用:
用於背景進程中。通過引發Timer事件,Timer控件可以有規律的隔一段時間執行一次代碼。也就是,你可以根據你自己的需要,給Timer控件設置時間,Timer每隔這段時間,就執行一次代碼。
屬性:
Enabled 控制當前Timer控件是否可用
timer1.Enabled=false;不可用
timer1.Enabled=true;可用
Interval 主要是設置timer2_Tick事件的時間,單位為毫秒
timer1.Interval=1000;. 1秒=1000毫秒
Tick事件:
每經過Interval屬性指定的時間間隔時發生一次.
每1小時提示用戶,需要休息了
timer1.Interval=3600000;
//3600000毫秒即3600秒,即1小時 private void timer1_Tick(object sender,System.EventArgs e) { timer1.Enabled=false;
MessageBox.show("需要休息了,開機已經2小時了");
timer1.Enabled=true;
//如果不先把timer1設成false,對話框會一直彈下去。
}
到9:00提示去上廁所,把timer2.Interval=60000;//1分鍾
private void timer2_Tick(object sender, System.EventArgs e){ //得到現在的時間 string cesuotime=DateTime.Now.DateTime.Now.ToShortTimeString(); if(cesuotime.equles("9:00")){ timer1.Enabled=false; MessageBox.show("該去上廁所了"); timer1.Enabled=true;//如果不先把enabled設置成false對話框會一直彈下去 } }
一定時間間隔刷新函數
( 讀取上次刷新時間與當前時間差,如果達到指定的時間差隔刷新函數,類似於Windows操作系統的定時屏保 )
timer1.Interval=3000; //指定三秒刷新一次 System.DateTime time2 = System.DateTime.Now; //獲取當前時間 System.TimeSpan span =time2-time1; //計算與上次執行時間的時間差 if (span.Minutes > 5) //這時定時五分鍾刷新一次, { iniFormMain(); //執行刷新主界面函數 } //在主界面函數 iniFormMain() 中定義時間變量time1為當前時間 //time1 = System.DateTime.Now;
timer1.Start( ); 啟動計時器,屬性Enabled = true
完全等同於調用Start()
方法
timer1.Stop( ); 關閉計時器, Enable = false
完全等同於調用Stop()
using System.Windows.Forms; // namespace public partial class Form1 : Form { public Form1() { InitializeComponent(); // 這條語句是IDE自動生的 timer1.Interval = 1000; // 設置時間間隔為1000ms,默認為100ms timer1.Start(); // 啟動計時器, (默認不啟動) } private void timer1_Tick(object sender, EventArgs e) { if (timer1.Equals(timer2)) // 判斷兩個Timer是否相同,這語句沒什么用 ; else { timer1.Stop(); //關閉計時器 MessageBox.Show("two timers are not equal."); Close(); // 最后關閉窗口 } } }