1. Timer 是干啥的?

就是个“自动闹钟”:
你设定每隔多少毫秒(比如 1000 毫秒 = 1 秒),它就自动执行一段代码。

常见用途:

  • 实时显示时间
  • 倒计时
  • 定时刷新数据
  • 轮询状态

2. 怎么用?三步搞定(WinForm 拖控件方式)

第一步:拖一个 Timer 到窗体

  • 打开设计器
  • 工具箱 → 找到 Timer(在“组件”里)
  • 拖到窗体上 → 它不会出现在界面上,而是在窗体底部显示为 timer1

第二步:设置两个关键属性

选中底部的 timer1,在属性窗口里改:

属性 说明
Interval 1000 每隔多少毫秒触发一次(1000 = 1秒)
Enabled True 必须设为 True! 否则 Timer 是“关着的”,不会跑

⚠️ 默认 Enabled = False!这是大多数人写了代码却不生效的原因!

第三步:写要执行的代码

  • 双击底部的 timer1
  • Visual Studio 会自动生成 timer1_Tick 方法
  • 在里面写你要定时干的事,比如:
1
2
3
4
private void timer1_Tick(object sender, EventArgs e)
{
label1.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
}

✅ 因为是 WinForm 自带的 Timer,可以直接改 label、button 等控件,不会报错!


3. 常见问题 & 注意事项

❌ 问题:写了代码但没反应?

原因Enabled 没设成 True,或者 Interval 是 0。
解决:检查属性窗口,把 Enabled 改为 TrueInterval 设成 1000 之类的正数。

⏸️ 想暂停/继续?

1
2
timer1.Stop();  // 暂停
timer1.Start(); // 继续

或者直接改属性:

1
2
timer1.Enabled = false; // 暂停
timer1.Enabled = true; // 继续

🕒 想改时间间隔?

随时可以改:

1
timer1.Interval = 500; // 改成每0.5秒一次

🧹 窗体关闭时需要清理吗?

一般不用,WinForm 会自动释放。但如果你在 Timer 里开了文件、网络连接等资源,记得在 FormClosed 里停掉:

1
2
3
4
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
timer1.Stop();
}

4. 一句话总结

WinForm 用 Timer,就三件事:
拖控件 → 设 Interval 和 Enabled=True → 双击写代码
其他都不用管,直接改界面控件,安全又省心!

搞定!