在.NET中有三种计时器:
一、 System.Windows.Forms命名空间下的Timer控件,和所在的Form属于同一个线程。Timer控件只有绑定了Tick事件和设置Enabled属性为True之后才会自动计时,Stop()方法,Start()方法启动计时器重新计时;
MyTimer.Enabled = true; //启动计时器
MyTimer.Interval = 1000; //设置计时器时间间隔,单位为ms
MyTimer.Stop(); //停止计时
MyTimer.Start(); //重新计时
设计界面:
代码:
public partial class Timer : Form
{
System.DateTime TimeNow = new DateTime();
TimeSpan TimeCount = new TimeSpan();
public Timer()
{
InitializeComponent();
}
private void btnTimeStart_Click(object sender, EventArgs e)
{
MyTimer.Start();
TimeNow = DateTime.Now;
}
private void Timer_Load(object sender, EventArgs e)
{
MyTimer.Interval = 1000;
}
private void btnTimeStop_Click(object sender, EventArgs e)
{
MyTimer.Stop();
}
private void MyTimer_Tick(object sender, EventArgs e)
{
TimeCount = DateTime.Now - TimeNow;
txtTimeShow.Text = string.Format("{0:00}:{1:00}:{2:00}", TimeCount.Hours, TimeCount.Minutes, TimeCount.Seconds);
}
private void txtTimeShow_TextChanged(object sender, EventArgs e)
{
}
}
代码里使用了DateTime.Now获取当前系统时间,TimeSpan变量取得时间间隔
二、system.Timers命名空间下的Timer类,使用Elapsed事件另开一个线程。定义一个System.Timers.Timer对象,然后绑定Elapsed事件,通过Start()方法来启动计时,通过Stop()方法或者Enable=false停止计时;











