C# 定时器基本操作和应用
Timer 定时器基础用法指南
1. 常用Timer类型
- Windows.Forms.Timer:专为WinForm设计,基于UI线程触发,可直接操作控件。
- System.Timers.Timer:适用于后台任务,需手动处理线程同步。
2. WinForm Timer基础步骤
// 创建Timer组件(可从工具箱拖拽)
Timer timer1 = new Timer();
// 设置间隔(毫秒)
timer1.Interval = 1000;
// 绑定Tick事件
timer1.Tick += (sender, e) =>
{
label1.Text = DateTime.Now.ToString("HH:mm:ss");
};
// 启停控制
timer1.Start(); // 启动
timer1.Stop(); // 暂停
3. System.Timers.Timer示例
System.Timers.Timer timer2 = new System.Timers.Timer(1000);
timer2.Elapsed += (sender, e) =>
{
// 跨线程操作需调用Invoke
this.Invoke(() => label1.Text = e.SignalTime.ToString());
};
timer2.Start();
4. 关键注意点
- 资源释放:窗体关闭时调用timer.Dispose();
- 精度限制:最低间隔约15ms,高精度需结合Stopwatch;
- 线程安全:非UI定时器更新控件必须用Control.Invoke。
总结:根据场景选择Timer类型,掌握启停和跨线程操作,轻松实现定时任务!