C#项目练习系列--1.倒计时器

C#项目练习系列--1.倒计时器

  • 实操
    • 感想
      • 代码

实操

总体实现功能:选定计时时间—点击开始计时—进度条和剩余时间显示—提示时间到。
C#项目练习系列--1.倒计时器_第1张图片
C#项目练习系列--1.倒计时器_第2张图片
C#项目练习系列--1.倒计时器_第3张图片

软件版本:VS2019
1.新建工程
C#项目练习系列--1.倒计时器_第4张图片
选择c#,windows窗体应用,.NET Framework版本选择4或4以下时最后生成的应用程序在XP系统可运行,4以上只能在WIN7以上系统运行

2.拖拉组件(工具),所用到的工具有 button(按钮) , comboBox(下拉列表) , progressbar(进度条) , label (标签) , timer(定时器) ,工具可搜名字,在鼠标指向工具名称时也有相对应的解释。
C#项目练习系列--1.倒计时器_第5张图片
C#项目练习系列--1.倒计时器_第6张图片
把所需要的工具模块拖拉进来之后,点击各个工具可在属性界面修改名称/大小/背景等等
C#项目练习系列--1.倒计时器_第7张图片
当所有组件属性设置好之后,分析各组件之间的工作逻辑,比如倒计时器的工作逻辑是: 设定倒计时间—开始计时—显示进度及剩余时间—提示完成。

然后开始编程,C#在工程建立之后有相当于有了一个主函数,而需要实现的功能在双击组件之后就会建立对应子函数,需要在点击组件之后实现什么功能就在子函数编写。比如点击开始计时之后要显示进度及剩余时间,则在设计界面双击“开始计时”按钮,就会自动跳到程序界面并建立空白子函数,在子函数里加入所需功能。
C#项目练习系列--1.倒计时器_第8张图片
同样的,别的功能模块也一样实现

感想

C# 设计界面类似于MATLAB 的 simulink 功能,只需要先把所需要的组件拉进来,再设置属性数据,然后编写各模块代码,比较方便。编程规范跟C语言类型,也分全局变量和局部变量,不同于C语言的是,C#编程多使用类,就相当于C语言的结构体多重调用,更加考验对于类函数的熟悉程度,因为很多功能都有了,只需要知道这个功能附在哪一类的后面,以及熟悉函数的用法。

代码

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

namespace TEST_1
{
    public partial class Form1 : Form
    {
        int time_count = 0;
        int time_remain= 0;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            int i = 0;
            for(i = 1; i < 100; i++)
            {
                comboBox1.Items.Add(i.ToString() + " 秒");
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string str = comboBox1.Text;  //获取所需计时时间
            time_remain = Convert.ToInt16(str.Substring(0,2)); // 从0位开始,取前两位
            progressBar1.Maximum = time_remain;  //获取进度条最大值
            timer1.Start();   //开始计时
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            time_count++;
            label3.Text = (time_remain - time_count+1).ToString() + "秒";
            progressBar1.Value = time_count;
            if(time_count == time_remain)
            {
                timer1.Stop();
                System.Media.SystemSounds.Asterisk.Play();
                MessageBox.Show("时间到","提示");
            }
        }
    }
}

你可能感兴趣的:(c#,开发语言,windows)