今日继续我的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