记录一下C#定时器的使用

界面:页面视图
实现的思路:
1.拖拉需要的控件,并设置其相应的一些属性。 例如timer(定时器)多少毫秒触发一次定时器
2.在窗体初始化完成的时候,应该先把时间下拉选项给加载好,并设置一个默认的选项
3.在点击按钮的时候,应该获取一下当前选择的时间是多少。并作一个标记,然后给进度条设置一个最大的值, 开启我们的定时器。
4.对定时器进行设定,比如剩余多少时间,进度条的显示,以及当前进度的设定。 还要判断一下当前的时间是否已经到了,如果到了之后,应该先清空一些输入,停止定时器的使用等,然后再去提示用户时间已经到了(注意,提示的语句一定要想好应该放在哪里,因为弹出对话框实例上是开启了一个线程,如果把提示语句放在关闭定时器的前面的话,则会出现异常)

代码的实现:
1.定义俩个全局字段
int count=0;//用于定时器计数
int time=0;//存储设定的定时值
2.窗体加载的事件
for (int i = 1; i < 100; i++)
{
string str = i.ToString() + " 秒"; //注意在这个秒的前面应该加一个空格,这样也方便在后面的字符串操作当中进行切割
cmb_Select.Items.Add(str);
}
cmb_Select.SelectedIndex = 9; //默认设置为选中10秒

2.按钮事件
string str = cmb_Select.Text; //获取下拉列表框的内容信息
string data = str.Substring(0,2); //截取秒数
time = Convert.ToInt16(data); //将秒数转化为整型数据
progressBar2.Maximum = time; //设置进度条的最大值为当前选择的时间
timer1.Start(); //开启定时器

3.定时器的内部实现
count++;
sur_Time.Text = (time - count).ToString() + “秒”;
pro.Text = Math.Round( (100 - (time - count) * 1.0 / time * 100),2 ).ToString() + “%”; //设置一下当前的完成进度百分制,并且保留俩位有效的小数
progressBar2.Value = count; //设置进度条的值
if (time == count) //时间到的时候
{
timer1.Stop(); //停止当前的定时器
System.Media.SystemSounds.Asterisk.Play(); //设置提示音
MessageBox.Show(“时间到了!!”,“提示”);
/做二次运行前的数据清空,防止第一次执行后存在的数据造成冲突/
progressBar2.Value = 0;
time = count = 0; //将当前的时间清空,防止二次应用程序造成数据错误
pro.Text = “0%”;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值