当前位置: 首页 > news >正文

C#学习笔记3:Windows窗口计时器

今日继续我的C#学习之路,今日学习自己制作一个Windows窗口计时器程序:

文章提供源码解释、步骤操作、整体项目工程下载

完成后的效果大致如下:(可选择秒数,有进度条,开始计时按钮等) :

目录

1、新建Windows窗口项目:

 2、调出工具箱设计窗口样式:

3、按钮摆放初步测试:

4、定时器窗口程序的设计:

4.1:组件的选择添加:

4.2:编程与逻辑:

 4.3:最终效果:

5、整体项目工程文件下载:

1、新建Windows窗口项目:

因为要做的是Windows窗口倒计时项目,所以新建项目时略有不同:

这次选择的是Windows窗体应用(.NET Framework)

 2、调出工具箱设计窗口样式:

新建号项目后我们就看到有了窗口Form文件了,可以对其进行样式的设计:

点击左上角视图---工具箱,即可调出工具箱:

然后公共控件里就可进行摆放控件了:

在form1设计示意图中,双击控件就可以对其进行程序上的设置了

右击控件可以对其进行属性设置:

3、按钮摆放初步测试:

这里我设计了俩个button和一个textbox来做简单交互:

private void button1_Click(object sender, EventArgs e){textBox1.Text = "鸡鸡鸡";}private void textBox1_TextChanged(object sender, EventArgs e){}private void button2_Click(object sender, EventArgs e){textBox1.Text = "超绝肌肉线条";}

效果如下:

按button1名为蔡徐坤,显示鸡鸡鸡

按button名为宋亚轩,显示超绝肌肉线条

4、定时器窗口程序的设计:

4.1:组件的选择添加:

首先选中整个窗体,右下角属性中可以为其 改名为定时器:

 再添加一个button,更名为开始计时:

再添加俩个label控件,用于必要的说明解释:

在添加一个combobox用于选择时长:

 再添加一个progressbar作进度条:

 工具栏组件中选择添加一个Timer:别忘记在属性中设置time的频率 ,

因为毫秒为单位,所以需要设置改为1000:

最后插入一个label3用于显示剩余时间:(记得清空名字) :

 

最后所有控件摆放如下:

4.2:编程与逻辑:

form1的整体代码与注释如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Reflection.Emit;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.ProgressBar;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.TaskbarClock;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;namespace Count_Down
{public partial class Form1 : Form{int count;//用于定时器计数int time;//存储设定的定时值public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){int i;for (i = 1; i < 100; i++)// 计数范困(0 - 99){comboBox1.Items.Add(i.ToString() + " 秒");// 初始化下拉框内容(数字后加一个空格便于程}}private void timer1_Tick_1(object sender, EventArgs e)//定时器事件{count++;//记录当前过了几秒//C#中ToString方法返回一个对象实例的字符串,在默认情况下将返回类类型的限定名label3.Text = (time - count).ToString() + "秒";//显示剩余时间progressBar1.Value = count;//设置进度条进度if(count==time){timer1.Stop();//时间到,停止计时System.Media.SystemSounds.Asterisk.Play();//提示音MessageBox.Show("鸡!!!计时结束", "提示");count = 0;//使count归0,便于下次计时}}private void button1_Click_1(object sender, EventArgs e)//开始计时按钮事件{string str = comboBox1.Text;//将下拉框内容添加到一个变里中string data = str.Substring(0,2);time = Convert.ToInt16(data);//得到设定定时值(整形)progressBar1.Maximum = time;//进度条最大数值timer1.Start();//开始计时}private void label1_Click(object sender, EventArgs e){}private void comboBox1_SelectedIndexChanged(object sender, EventArgs e){}private void progressBar1_Click(object sender, EventArgs e){}private void label2_Click(object sender, EventArgs e){}private void label3_Click(object sender, EventArgs e){}}
}

ToString():

 4.3:最终效果:

5、整体项目工程文件下载:

https://download.csdn.net/download/qq_64257614/89035710

http://www.lryc.cn/news/326076.html

相关文章:

  • C语言与sqlite3入门
  • Rancher(v2.6.3)——安装Rancher
  • Aapche Nutch建立自己的搜索引擎
  • 阅读笔记(ICIP2023)Rectangular-Output Image Stitching
  • 就业班 第二阶段 2401--3.26 day6 Shell初识 连接vscode
  • 碳课堂|什么是碳资产?企业如何进行碳资产管理?
  • 如何使用 ChatGPT 进行编码和编程
  • 学习java第二十四天
  • 中小型集群部署,Docker Swarm(集群)使用及部署应用介绍
  • gateway做负载均衡
  • pytorch中的torch.hub.load()
  • R语言学习——Rstudio软件
  • 触发器的工艺结构原理及选型参数总结
  • Hana数据库 No columns were bound prior to calling SQLFetch or SQLFetchScroll
  • DevOps是什么
  • windows下的vscode + opencv4.8.0(C++) 配置
  • 微信小程序之多视频暂停播放,超出可视区域停止播放视频在自定义组件中实现案例
  • Java 加载外部 Jar 中的类并通过反射调用类中的方法
  • Arduino+ESP8266+华为云物联网平台实现智能开关
  • 使用 python 拆分 excel 文件
  • uniapp小程序中onShareAppMessage(OBJECT)实现带参数的分享功能
  • 5个免费的3D钣金CAD软件
  • 3.26学习总结
  • Cisco Catalyst3850交换机RTU license使用方法
  • 简明 Python 教程(第5章 函数)
  • flutter 保存一堆多语言翻译词条,由key和value组成
  • 3月25日,每日信息差
  • Git常用指令使用
  • 数据结构与算法 顺序表的基本运算
  • docker部署nacos(单机与集群)