当前位置: 首页 > news >正文

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 方法
  • 在里面写你要定时干的事,比如:
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 之类的正数。

⏸️ 想暂停/继续?

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 → 双击写代码
其他都不用管,直接改界面控件,安全又省心!

搞定!

http://www.hskmm.com/?act=detail&tid=17216

相关文章:

  • RocketMQ入门:基本概念、安装、本地部署与集群部署 - 详解
  • 【LeetCode】122. 买卖股票的最佳时机 II
  • VSCode 使用技巧笔记
  • 【LeetCode】55. 跳跃游戏
  • Ansible + Docker 部署 Apache Kafka 3.9 集群
  • 【LeetCode】45. 跳跃游戏 II
  • 深入了解一波JVM内存模型
  • 什么是UDFScript用户自定义脚本
  • 【LeetCode】121. 买卖股票的最佳时机
  • CCPC2024-Zhengzhou G Same Sum(线段树)
  • Openwrt-DDNS 配置详解
  • 实用指南:Metal - 2. 3D 模型深度解析
  • 【2025.9.16】关于举办PostgreSQL数据库管理人才研修与评测班的通知
  • Java锁相关问题
  • CDN中使用边缘函数实现自定义编程
  • 第一次课程中的所有动手动脑的问题以及课后实验性的问题
  • 敏捷开发的几个阶段
  • 隐藏在众目睽睽之下:从PEB中解除恶意DLL的链接
  • 设计模式六大原则 - 实践
  • 运营商 API 安全最佳实践、案例与方案推荐(2025)|千万级接口的全链路实战
  • HyperWorks许可与多用户支持
  • react 中 keys 的作用是什么?
  • 破局与进化:火山引擎Data Agent从落地实践到架构未来
  • 五项能力斩获满分!天翼云云WAF获IDC权威认可!
  • 什么样的代码可以称得上是好代码? - 浪矢
  • 微软Teams Channel Agent上线:中国卖家AI赋能品牌出海新机遇与实战策略(2025前瞻) - 详解
  • docker制作
  • lvgl 9.3 style使用导致内存泄漏问题
  • 【AI领域】如何写好Prompt提示词:从新手到进阶的完整指南 - 详解
  • 11_Reactor网络模型