WinForm 计时器 Timer 学习笔记
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 | private void timer1_Tick(object sender, EventArgs e) |
✅ 因为是 WinForm 自带的 Timer,可以直接改 label、button 等控件,不会报错!
3. 常见问题 & 注意事项
❌ 问题:写了代码但没反应?
原因:Enabled
没设成 True
,或者 Interval
是 0。
解决:检查属性窗口,把 Enabled
改为 True
,Interval
设成 1000 之类的正数。
⏸️ 想暂停/继续?
1 | timer1.Stop(); // 暂停 |
或者直接改属性:
1 | timer1.Enabled = false; // 暂停 |
🕒 想改时间间隔?
随时可以改:
1 | timer1.Interval = 500; // 改成每0.5秒一次 |
🧹 窗体关闭时需要清理吗?
一般不用,WinForm 会自动释放。但如果你在 Timer 里开了文件、网络连接等资源,记得在 FormClosed
里停掉:
1 | private void Form1_FormClosed(object sender, FormClosedEventArgs e) |
4. 一句话总结
WinForm 用 Timer,就三件事:
拖控件 → 设 Interval 和 Enabled=True → 双击写代码。
其他都不用管,直接改界面控件,安全又省心!
搞定!
评论