c#上位机开发(二)——写一个倒计时应用程序

为了熟练运用C#,学习做一个倒计时的应用程序,做出来的模样如下所示

c#上位机开发(二)——写一个倒计时应用程序_第1张图片

 

1.功能要求

(1)定时时间的设定,使用下拉框进行选择开始需要设定时间数值

(2)对于计时中剩余时间的显示,使用label组件进行显示

(3)进度条对于时间计时的一个显示进度

(4)按钮操作:开始计时——点击之后开始计时,或者暂停计时按钮点击之后点击该按钮再继续计时。

                           暂停计时——点击之后暂停计时,点击开始计时之后恢复计时。

                           停止计时——点击之后停止计时,所有都清零。

 

2.项目实现

新建一个项目,进行项目的实现

(1)窗体属性的设置,这里我设置了窗体的背景、名称以及图标

c#上位机开发(二)——写一个倒计时应用程序_第2张图片

点击窗体,然后在右下方的属性栏中进行修改窗体的属性

如下图所示可以使用自己的图片资源来做窗体的背景

然后窗体的图标可以自己制作或者网上下载,具体可百度,注意的是要求是后缀为ico的图片资源文件

c#上位机开发(二)——写一个倒计时应用程序_第3张图片c#上位机开发(二)——写一个倒计时应用程序_第4张图片

 

(2)组件的设置,将使用到的组件拖动到窗体中,根据自己的习惯可以把组件摆放到具体的位置,不再多说

c#上位机开发(二)——写一个倒计时应用程序_第5张图片

(3)设置响应事件,比如点击按钮之后会出现什么反应,这个需要来部署

点击按钮的事件可以在窗体中点击组件2下就会直接跳转到该函数中,然后进行功能实现即可

具体的实现方式卸载了代码的注释中

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {

        int count;
        int time;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)  //窗体创建之后运行的函数
        {

            for (int i = 1; i < 100; i++)
            {
                comboBox1.Items.Add(i.ToString()+" 秒"); //在下拉列表中添加元素(字符类型)
            }
            comboBox1.Text = "1 秒";
            label3.Text = "";
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            count++;
            label3.Text=(time-count).ToString()+"秒";//显示剩余时间
            progressBar1.Value=count;//设置进度条的进度
            if (count == time)
            {
                timer1.Stop();  //时间到,停止计时
                System.Media.SystemSounds.Asterisk.Play();//停止计时
                MessageBox.Show("时间到了!", "提示");//弹出提示框
            }
        }
        //开始计时
        private void button1_Click(object sender, EventArgs e)//开始计时按钮点击
        {
            string str=comboBox1.Text;//将下拉内容添加到变量中
            time = Convert.ToInt16(str.Substring(0, 2));//获取设定的定时时间值
            progressBar1.Maximum = time;//进度条的最大数值
            timer1.Start();//开始计时
        }
        //暂停计时
        private void button2_Click(object sender, EventArgs e)
        {
            count = 0;//计数清零
            string str = comboBox1.Text;//将下拉内容添加到变量中
            time = Convert.ToInt16(str.Substring(0, 2));//获取设定的定时时间值
            progressBar1.Maximum = time;//进度条的最大数值
            progressBar1.Value = 0;//进度条显示长度改为0
            label3.Text = time + "秒";//显示剩余时间
            timer1.Stop();//暂停计时
        }
        //停止计时
        private void button3_Click(object sender, EventArgs e)
        {
            string str = comboBox1.Text;//将下拉内容添加到变量中
            time = Convert.ToInt16(str.Substring(0, 2));//获取设定的定时时间值
            progressBar1.Maximum = time;//进度条的最大数值
            progressBar1.Value = count;//进度条的显示长度
            label3.Text = time - count + "秒";//显示剩余时间
            timer1.Stop();//停止计时
        }
    }
}

 

你可能感兴趣的:(c#上位机开发,c#,上位机,计时器,wpf)