windows上位机开发学习(二)计时器案例(下) int大小
·
windows上位机开发学习(二)
一、案例1 计时器(下)
- 上一篇文章中我们完成了计时器的外形设计,下面我们继续代码的编写
- 首先添加设置Timer定时器,从左边工具箱中拖到计时器框内随便的位置然后松手,在右下角设置属性把间隔改为1000ms方便后续编程

核心代码实现
-
第1步:声明全局变量
-
在窗体类的主要部分,我们声明两个全局变量来跟踪倒计时的状态。它们需要在多个方法中被访问,所以作用域需为类级别。
// 声明全局变量
int count; // 记录已经流逝的秒数
int time; // 存储用户设置的总倒计时秒数
-
第2步:“开始”按钮点击事件
-
这是倒计时的启动器。当用户点击按钮时,我们需要解析他选择的时间,并初始化所有组件状态。
private void button1_Click(object sender, EventArgs e)
{
// 1. 获取用户选择的文本(例如:"5分")
string str = comboBox1.Text;
// 2. 解析时间:截取字符串中除最后一个字符外的所有部分,并转换为整数
// 例如:"5分" -> 截取"5" -> 转换为整数5
time = Convert.ToInt32(str.Substring(0, str.Length - 1));
// 3. 初始化进度条
progressBar1.Maximum = time; // 进度条的最大值等于总秒数
progressBar1.Value = 0; // 当前值归零
// 4. 重置计数器
count = 0;
// 5. 启动计时器,开始倒计时!
timer1.Start();
}
-
代码细节解读:
-
str.Substring(0, str.Length - 1) 是关键。它从字符串索引0开始,截取长度为 (原字符串长度 - 1) 的子串,完美地去掉了最后一个中文字符(如“秒”),只留下数字部分。
-
Timer 组件需要将其 Interval(间隔)属性设置为 1000(即1秒),这样才能每秒触发一次 Tick 事件。
-
第3步:计时器Tick事件
-
这是倒计时的核心逻辑,每秒自动执行一次,负责更新界面和判断结束。
private void timer1_Tick(object sender, EventArgs e)
{
count++; // 流逝的秒数+1
// 1. 更新界面标签,显示剩余时间
// 例如: (5 - 1) = 4 -> "4秒"
label3.Text = (time - count).ToString() + "秒";
// 2. 更新进度条的值,直观展示进度
progressBar1.Value = count;
// 3. 判断倒计时是否结束
if (count == time)
{
// 停止计时器
timer1.Stop();
// 播放系统提示音,提醒用户
System.Media.SystemSounds.Asterisk.Play();
// 弹出对话框,告知用户时间已到
MessageBox.Show("时间到了!", "提示");
}
}
-
代码细节解读:
-
System.Media.SystemSounds.Asterisk.Play() 是.NET框架内置的一个简便方法,用于播放系统关联的提示音,无需引用额外文件。
-
progressBar1.Value = count; 使得进度条的增长与时间的流逝完全同步,提供了良好的视觉反馈。
-
完成计时器案例

常见单片机的int大小
- 学习过程中遇到了int到底多大的问题,下面列表说明

附学习参考网址
欢迎大家有问题评论交流 (* ^ ω ^)
更多推荐

所有评论(0)