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
方法 - 在里面写你要定时干的事,比如:
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
改为 True
,Interval
设成 1000 之类的正数。
⏸️ 想暂停/继续?
timer1.Stop(); // 暂停
timer1.Start(); // 继续
或者直接改属性:
timer1.Enabled = false; // 暂停
timer1.Enabled = true; // 继续
想改时间间隔?
随时可以改:
timer1.Interval = 500; // 改成每0.5秒一次
窗体关闭时需要清理吗?
一般不用,WinForm 会自动释放。但如果你在 Timer 里开了文件、网络连接等资源,记得在 FormClosed
里停掉:
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{timer1.Stop();
}
4. 一句话总结
WinForm 用 Timer,就三件事:
拖控件 → 设 Interval 和 Enabled=True → 双击写代码。
其他都不用管,直接改界面控件,安全又省心!
搞定!