最常用的构造形式:
Timer(TimerCallback callback, object state , uint duetime , uint period)
callback: 回调方法必须是TimerCallback委托形式的:void TimerCallback(object state)
state:要传入的对象引用,可以为null
duetime:回调首次被调用之前的时间,如果被设置为Timeout.Infinite则会停止计时
period:两次回调之间的时间间隔,如果被设置为Timeout.Infinite则回调只调用一次
代码:
public partial class Timer2 : Form
{
System.Threading.Timer Mytimer;
long TimeCount;
delegate void SetValue();
public Timer2()
{
InitializeComponent();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void TimerUp(object state)
{
this.Invoke(new SetValue(ShowTime));
TimeCount++;
}
public void ShowTime()
{
TimeSpan t = new TimeSpan(0,0, (int)TimeCount);
txtTimeShow.Text = string.Format("{0:00}:{1:00}:{2:00}",t.Hours,t.Minutes,t.Seconds);
}
//开始计时
private void btnTimeStart_Click(object sender, EventArgs e)
{
TimeCount = 0;
Mytimer.Change(0, 1000);
}
//停止计时
private void btnTimeStop_Click(object sender, EventArgs e)
{
Mytimer.Change(Timeout.Infinite, 1000);
}
private void Timer2_Load(object sender, EventArgs e)
{
Mytimer = new System.Threading.Timer(new TimerCallback(TimerUp), null, Timeout.Infinite, 1000);
}
private void txtTimeShow_TextChanged(object sender, EventArgs e)
{
}
}










