C# 制作一个倒计时器
近期,因为工作的需要接触到了C#这门语言,一开始做的UI页面,觉得特别有成就感。然后,今天上班因为也是周六。上班的性质不是很大,分班制,公司来的人也是比较少。有感而发的制作了一个倒计时,来记录上班的时常。
啥也不说直接上教程:
需要的控件就是 两个label控件 + 一个timer控件 + progressBar控件。
这是效果图
为了方便我就没有设置程序的关闭框以免看着不舒服然后就点掉了。但是在菜单栏还是可以右击关闭的。
FromBorderStyle改为None,就可以看到上图的效果图,但是记得手动去把from窗口给缩成想要的效果。我就是缩成了很小的一个。
然后就是两个label控件了。这里我就只演示一个,另一个也是一样的,我相信大家都有这样的能力去修改。AutoSize选择为false是为了我们可以把控件的大小拖拽成我们想要的大小。字体也可改,我这里就没有标识出来。
代码其实还是很少的就100行左右,因为之前把FromBorderStyle改为None,所以我们的程序运行后的位置是不可以修改的。但是加上移动的代码就可以了。
绿色的框的东西一开始是没有的直接在想要输入的栏双击就会自动创建了。
整个文档的我就一起放了代码:
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 time
{public partial class Form1 : Form{TimeSpan dtTo = new TimeSpan(3, 0, 0); //设置开始时间int Prg_Max_value = 10800;//进度条的最大值,也就是上班的时间有多少秒。//int Prg_Min_value = 0;public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){//timer1.Tick += new EventHandler(timer1_Tick);timer1.Interval = 1000;//设置每次间隔1stimer1.Enabled = true;}private void timer1_Tick(object sender, EventArgs e){dtTo = dtTo.Subtract(new TimeSpan(0, 0, 1));progressBar1.Step = 1;//设置每次增长多少,progressBar1.Maximum = Prg_Max_value;//设置进度条的最大进度的值,//这是进度条的最大值。if (timer1.Enabled){if(progressBar1.Value == Prg_Max_value){progressBar1.Value = Prg_Max_value;label1.Text = "下班啦!";timer1.Stop();MessageBox.Show("恭喜你,今日工作时长以满8小时!","提示");}else{progressBar1.Value += progressBar1.Step; //让进度条增加一次label1.Text = dtTo.Hours.ToString() + ":" + dtTo.Minutes.ToString() + ":" + dtTo.Seconds;}}if (dtTo.TotalSeconds < 0.0)//当倒计时完毕{//lock_time = false;timer1.Enabled = false; //其中可自行添加相应的提示框或者方法函数}}bool formMove = false;//窗体是否移动Point formPoint;//记录窗体的位置private void Form1_MouseMove(object sender, MouseEventArgs e){if (formMove == true){Point mousePos = Control.MousePosition;mousePos.Offset(formPoint.X, formPoint.Y);Location = mousePos;}}private void Form1_MouseDown(object sender, MouseEventArgs e){formPoint = new Point();int xOffset;int yOffset;if (e.Button == MouseButtons.Left){xOffset = -e.X - SystemInformation.FrameBorderSize.Width;yOffset = -e.Y - SystemInformation.CaptionHeight - SystemInformation.FrameBorderSize.Height;formPoint = new Point(xOffset, yOffset);formMove = true;//开始移动}}private void Form1_MouseUp(object sender, MouseEventArgs e){if (e.Button == MouseButtons.Left)//按下的是鼠标左键{formMove = false;//停止移动}}}
}
计时器的参考来自:https://www.csdn.net/tags/MtzaEgwsMTMyNjktYmxvZwO0O0OO0O0O.html
实现无边框的移动来自:C#winform中怎么实现无边框窗体的拖动、最大化、最小化以及关闭。
以上若有侵权请联系我,我会第一时间处理!!!只是为了多学习,没有别的。
有问题可以私信、或者评论。
C# 制作一个倒计时器相关推荐
- JavaScript制作页面倒计时器
制作页面倒计时器,选定一个未来时间,得到几天几时几分几秒的倒计时. 在这里选择使用两个时间相差的毫秒数来计算相对应的天数.小时数.分钟数和秒数.为了使代码看起来简洁,进行了封装函数. 1.setInt ...
- js倒计时天时分秒php,JS制作分秒倒计时器
这篇文章主要介绍了JavaScript分秒倒计时器实现方法,可实现按照毫秒倒计时的效果,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了JavaScript分秒倒计时器实现方法.分享给大家供 ...
- JAVA 制作给定时间倒计时器
Java 制作给定时间的倒计时器 首先创建倒计时器类 public class NSTimer {private int hh; //小时private int mm; //分钟private int ...
- 使用js在桌面上写一个倒计时器_论一个倒计时器的性能优化之路
原文发表于 2018.05.25,搬运自个人博客. 引子 回顾这半年,扛需求能力越来越强,业务代码也是越写越多.但稍一认真看看这些当时为了满足快速上线所码的东西,问题其实还是不少.这次就从一个简单的计 ...
- 使用js在桌面上写一个倒计时器_现代课程网教学互动平台课件编辑器:计时器、倒计时器(图文版)...
现代课程网教学互动平台 课件编辑器 计时器使用指南 01 功能介绍 计时器插件就是可以从零开始计时的插件. 02 编辑插件 1 在顶部菜单栏里找到"工具控件",在下拉菜单中找到&q ...
- unity如何制作简易倒计时器
首先理清思路,计时器的核心要素是计时的总时长和时间间隔需要均匀一秒,要实现的功能是在总时长的基础上实现等时间间隔减秒,并且减到0后终止. 其中最为关键的问题就是怎么得到均匀的时间间隔1秒,所以我们需要 ...
- Python制作一系列倒计时器,倒计时结束播放音乐
目录 遇到的问题 难点 需要注意的问题 需要用到的库 对部分代码的解释 完整代码 遇到的问题 我遇到的问题是需要进行一些列的倒计时.开始的时候是在手机的倒计时输入,一次倒计时结束再输入下一次倒计时,如 ...
- arduino彩灯计时器电路_基于Arduino开发板的倒计时器
Arduino-based-Countdown-Timer.jpg (54.03 KB, 下载次数: 86) 2018-4-18 17:18 上传 计时器是一种时钟形式,通常用于测量时间间隔.有两种类 ...
- ppt倒计时器制作方法
有很多使用PPT的人都想自己的PPT文件能有个倒计时器: 第一:可以在百度上搜索一下ppt倒计时器,很多相应的软件,这里就不多说了,下面介绍怎么在PPT里制作PPT倒计时器! 第二:自己在PPT中应用 ...
- (MacOS)来做一个简单带有音乐提醒的python倒计时器吧~
上一节python课老师当场写了个随机点名竟点到了我!差点被叫上讲台当场写程序啦 留下一个倒计时器作业要好好对待了- 先展示一下结果:(有点粗糙不要嫌弃嘻嘻
最新文章
- Windows10 C盘爆满如何清理
- mybatis对mysql if函数_Mybatis使用mysql函数if出现错误
- 你现在的CSS水平处于什么等级?
- 海贼王热血航线正在连接服务器,航海王热血航线连接服务器失败?解决方法一览...
- 本期赠书中奖名单公布
- WPF之DataTemplate(转)
- 关于插件toastr的学习
- win下使用curl
- 最简单的Tomcat9下载安装教程
- axd与ashx区别
- JS 缓存: Service Worker 实现离线应用
- 694.27公斤何登骥360搜索热头条 北方旱作国稻种芯功能水稻
- 7.14英语学习:英国拍争议文物
- matlab拟合多自变量函数,多个自变量的函数拟合问题
- 基于单片机的加油机系统
- c31 rotc_百度百科
- 华为云内网服务器通过公网服务器访问外网
- TowerJ编译java_2020阿里最新出品的泰山版Java开发手册,告别垃圾代码
- 三字经 -王应麟 章太炎
- 将多个annotation xml文件转换为多个annotation txt文件