1. 设置窗口

在VS2019新建一个Windows窗体应用(.NET Framework)项目,新建之后出现一个可视化页面(From1.cs[设计])设置窗口。

在左侧的工具箱里面拉拽控件到操作面板上,按照自己的喜好摆放位置和调大小。

这里要注意的是用到的分别是什么控件:

文本(label):定时时间,剩余时间,0秒

下拉列表(comboBox):下拉列表选择定时时间。

按钮(bottom):开始计时,停止计时

进度条(progressBar):显示计时了多少秒

定时器(timer):这是个没有显示在窗口而是在后台默默数1、2、3……的控件,类似于单片机的定时器。

接着设置控件的属性——选中单击控件,在界面的左下角就可以看到该控件的属性,尺寸啊,颜色啊,字体的,显示内容啊什么都有,按着自己喜欢一一设置就可以了。还是比较简单的。

最后得到窗口如下:

2. 设置控件功能

设置控件功能需要代码来实现

1)下拉列表要能够显示1~99秒

双击解决资源方案管理器中的Form1.cs,就能看到刚才设置好的窗体的代码。(自动生成这个功能我真的爱死它了)

找到Form1_Load(),这个函数对应的是整个窗口,也就是说各个控件都是在窗口里面的,所以我们可以在这里面设置下拉列表的功能。comboBox1是下拉列表的名字,"."大致可以理解为中文的“的”,comboBox1.Items.Add();这个函数的意思“往这个下拉列表的集合中加入括号里面的东西”。另外,VS2019的开发环境特别友好,会有提示,把鼠标停在这个函数上面也会有对这个函数和函数参数的提示解释。

代码如下:

(2)开始计时&剩余时间&进度条
让我先来捋一捋按下“开始计时”之后会发生什么样的事:

对头!这就是我们要做的事情
首先设置两个全局变量,分别表示计时时间和定时时间

接着双击控件“开始计时”,会自动生成这个控件的函数,按下“开始计时”需要实现什么功能就可以在这个函数里面写了。下面代码实现了:剩余时间=定时时间;进度条最大时间=定时时间

再接下来要实现剩余时间和进度条的计时。众所周知,剩余时间和进度条的显示是1秒钟就变化1次的,所以要把他们写进“定时器”这个控件里面。这个控件的功能相当于定时器中断,1秒钟执行一次。代码如下:

(3)停止计时
那可就相当简单了

到这里倒计时器就完成了。

3. 总结

这是我做的第一个上位机,还挺有成就感的。总的来说没有遇到多大的问题,跟着教学视频一步一步很顺利。我觉得主要的难点就是在逻辑和类的使用上。平时用的多的还是C语言,所以对于类使用不太熟悉,以及他们的名字也太多太难记住了吧~但也不是不可以克服的!

最后,附上完整代码:

更多精彩内容:

(点击即可阅读)

小白学习倍福的必经之路

【互粉呀】关注“新阁上位机编程”抖音号

S7通信协议之你不知道的事儿

C#上位机开发连接三菱PLC

基于Snap7实现与西门子PLC通信

单片机float数发给上位机_上位机倒计时器相关推荐

  1. 信捷plc485通信上位机_上位机开发之三菱FX3U以太网通信实践

    上次跟大家介绍了一下上位机与三菱Q系列PLC通信的案例,大家可以通过点击这篇文章: dotNet工控上位机:上位机开发之三菱Q系列PLC通信实战​zhuanlan.zhihu.com 今天以三菱FX3 ...

  2. 浏览器上登录堡垒机_堡垒机测评 纽盾、JumpServer、行云管家三款堡垒机产品使用对比...

    公司的业务开展得越来越广,对IT的支撑能力要求也越来越高了.有几个方面表现得特别突出:一是业务系统在不断膨胀,用到的主机和服务(如数据库)也随之膨胀:二是业务系统在逐渐往云上搬,使用的云资源在逐渐增多 ...

  3. 使用js在桌面上写一个倒计时器_论一个倒计时器的性能优化之路

    原文发表于 2018.05.25,搬运自个人博客. 引子 回顾这半年,扛需求能力越来越强,业务代码也是越写越多.但稍一认真看看这些当时为了满足快速上线所码的东西,问题其实还是不少.这次就从一个简单的计 ...

  4. 用Java做s71200的上位机_上位机通过西门子S7-1200PLC与OPC UA通讯

    上位机通过OPC UA server与S71200 PLC通讯的配置步骤. 此次主要将的是关于西门子S7-1200系列PLC与上位机通过哪些特定的条件,来实现通讯的配置分享,着重讲解这一要点,接收以下 ...

  5. JUKI贴片机RX-7R_JUKI贴片机_贴片机

    JUKI贴片机RX-7R 元件尺寸:03015芯片-□25mm方形元件 P16吸嘴贴装头,实现极小元件的高速.高密度贴装 P8吸嘴贴装头,实现对中小型通用元件的高速.高精度贴装 宽度998mm 节省占 ...

  6. idea连接跳板机_跳板机服务(jumpserver)

    一.跳板机服务作用介绍 1.有效管理用户权限信息 2.有效记录用户登录情况 3.有效记录用户操作行为 二.跳板机服务架构原理 三.跳板机服务安装过程 第一步:安装跳板机依赖软件 yum -y inst ...

  7. java执行linux跳板机_跳板机登录服务器脚本及命令制作

    一.目的 从跳板机登录服务器是每次登录线上服务器都有的操作,如果每次都是手动ssh username@ip的形式就显得低效和繁琐,如果登录跳板机之后,自动执行一个命令,显示自己有登录权限的系统,选择系 ...

  8. 华为堡垒机_堡垒机是干什么的?

    云堡垒机(Cloud Bastion Host,CBH)是用于提供云计算安全管控的系统和组件,可以实现对运维资源的4A安全管控.云堡垒机包含用户管理.资源管理.策略.审计和工单等功能模块,支持对Win ...

  9. 基于51单片机的6位毫秒百分秒级秒表倒计时器proteus仿真

    #include <AT89X52.H> #define uint unsigned int //宏定义无符号整型数据 #define uchar unsigned char //宏定义无 ...

最新文章

  1. 再看nf_conntrack: table full问题
  2. Windows内核HAL相关学习
  3. 生成release版本的Android系统
  4. Cortex-M3-异常与中断-向量表 s
  5. 跟我一起学Redis之Redis持久化必知必会
  6. JAVA入门级教学之HTTP
  7. iPhone客户端开发笔记(一)
  8. tp5ajax即点即改,TP5中即点即改,json分页,单删
  9. linux中用shell获取时间,日期
  10. TCP报文段的首部格式
  11. poj 1753 Flip Game (高斯消元 + 枚举 自由变量)
  12. 使用动态代理爬取某房产平台信息并写入Excel(python)
  13. python可以做回归分析吗_使用python进行回归分析
  14. 【C++】平方矩阵求解
  15. 事业单位新税改的个人所得税纳税筹划
  16. 计算机无法访问u盘,电脑能够识别USB,但无法打开U盘,提示“拒绝访问”怎么回事?...
  17. 把VOB格式转换成其它格式的工具
  18. Unity 接入百度AI - 通用物体和场景识别
  19. 三菱PLC与第三方设备TCP通讯_三菱、西门子TCP/RS485通讯等问题解答
  20. 室外管线lisp_利用Autocad lisp进行地下管线成果表制作方法的研究

热门文章

  1. Spring MVC:会话高级
  2. 了解ThreadLocal背后的概念
  3. Linux 命令之 groupdel -- 删除指定的用户组
  4. Java中常用集合类对比_集合比较
  5. Windows 如何在命令终端(CMD)使用命令来访问本地/远程的 Oracle 数据库呢?
  6. Struts2请求处理的内部流程说明(版本一)
  7. 本地 Windows 如何将 Web 工程部署到远程 Windows 主机上
  8. postman测试工具中的js代码中的sendRequest()使用详解
  9. workbench拓扑优化教程_workbenchds拓扑优化分析.ppt
  10. linux 的ip 设置lo_Linux服务器设置静态IP的方法