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

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

实操

总体实现功能:选定计时时间—点击开始计时—进度条和剩余时间显示—提示时间到。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

软件版本:VS2019
1.新建工程
在这里插入图片描述
选择c#,windows窗体应用,.NET Framework版本选择4或4以下时最后生成的应用程序在XP系统可运行,4以上只能在WIN7以上系统运行

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

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

感想

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("时间到","提示");
            }
        }
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值