C#---倒计时小程序

如果想实现倒计时效果,需要进度条(progressBar)控件和时间(Timer)控件。进度条控件用来展示倒计时的进度,而时间控件用来设置倒计时的时间间隔和触发相应的事件。Timer控件设置时间间隔为1秒。使用start命令来启动Timer控件,这样就可以开始倒计时了。


四个步骤

1.添加控件

2.在comboBox1控件中添加信息

 /// <summary>
        /// 在comboBox1控件中添加信息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Form1_Load(object sender, EventArgs e)
        {

            int i;
            for (i = 1; i < 100; i++)
            {
                comboBox1.Items.Add(i.ToString() + "秒");
            }

        }

3计时事件


        /// <summary>
        /// 计时事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void timer1_Tick(object sender, EventArgs e)
        {
            count++; //软件计时器在定时器每过1秒的时候加1(定时器每过x毫秒进入此函数,x要在设计中的timer1的interval属性中设置)
            label3.Text = (time - count).ToString(); //倒计时时间减去软件计数器的时间,即剩余时间

            progressBar1.Value = count; //设置进度条进度
            if (count == time) //当软件计数器的值和倒计时时间相等时
            {
                timer1.Stop(); //停止计时
                               // System.Media.SystemSounds.Asterisk.Play(); //提示音
                System.Media.SystemSounds.Beep.Play();
                MessageBox.Show("倒计时结束"); //提示框,","前是显示的内容,","后是提示框的标题
                //count = 0;
            }
        }

4按钮代码

  /// <summary>
        /// 按钮事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            if (num == 0)
            {


                string str = comboBox1.Text; //将下拉框中显示的内容赋值给变量str
                string data = str.Remove(str.Length - 1);
                //   string data = str.Substring(0, 2); //因为str中既有数字,又有字母,而程序只需要字母,因此使用Substring函数提取数字,第一个参数
                //的意思是从第0位开始,第二个参数的意思是从第一个参数的位置开始往后提取2个字符。
                time = Convert.ToInt16(data); //将提取到的数字从字符型转换为整形
                count = 0;
                progressBar1.Maximum = time; //将数字赋值给进度条的最大值
            }
            timer1.Start(); //开始定时


        }

        /// <summary>
        /// 停止计时,清零
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            progressBar1.Value = 0;
            label3.Text = null;
            num = 0;
            time = 0;
            timer1.Stop();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            num = Convert.ToInt32(label3.Text);
            timer1.Stop();
        }

        

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值