单片机float数发给上位机_上位机倒计时器

33376ae0e4d46a1b8ab8fa66612b04f2.png1. 设置窗口

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

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

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

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

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

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

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

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

a885cd8da4573dd8584cea6caa0feb56.png

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

d94c3a63f3c79210f0e9cc0a76c7dd1e.png

最后得到窗口如下:

67f0f75c116432aad1d5ebcb4cd34b48.png

2. 设置控件功能

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

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

f949d57e19bb169c452fb41499f5d902.png

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

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

代码如下:

6b6c0825b823162aed861d40063d0b15.png

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

f07f0d1536dc3215c7f0dac4892aac12.png

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

324dcb6e751fece43c265f0b768dd469.png

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

563273cff6dbc52b8c56c87782cf7d42.png

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

af6d55ecdc1d8edc9d24f76f2c7bdf68.png

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

bc9b3ea0e1bc04fed3482a4d5f77dc18.png

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

3. 总结

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

最后,附上完整代码:

4cbd507c82778be62aaa2da81c6baef0.png

87572b0c728061860806a06216f114fe.png

更多精彩内容:

(点击即可阅读)

小白学习倍福的必经之路

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

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

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

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

0652e5d2a5fc0ff7994429d457286837.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/346340.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JDK语言功能预览:切换表达式

JEP 12 [“预览语言和VM功能”]在其主页上描述如下: 预览语言或VM功能是Java SE平台的一项新功能,该功能已完全指定,完全实现但不是永久性的。 JDK功能发布中提供了该功能,以根据实际使用情况激发开发人员反馈。 这可能会导致它在…

python快速示例_Python编程入门-基本示例,快速,上,手,基础

环境配置安装Python,目前最新的是3.9(不支持Windows7),我装的3.7https://www.python.org/downloads/安装向导里勾选自动添加路径,装完就可以用,Windows10/7搜索框输入IDLE,进入交互式环境窗口,输入语句后&a…

php 距离排序,php 附近由近到远排序查询

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼//获取经纬度 默认值为0.5千米function returnSquarePoint($lng, $lat, $distance 0.5){define(EARTH_RADIUS, 6371); //地球半径,平均半径为6371km$dlng 2 * asin(sin($distance / (2 * EARTH_RADIUS)) / cos(deg2ra…

土地利用覆被变化的概念_欠压实概念极其荒谬

●李传亮地表疏松的沉积物,孔隙度极高,有时可高达80%以上,但随着埋藏深度的加大,在上覆压力的作用下,其排列方式不断由松散排列趋于致密排列,同时伴随有孔隙度的大幅度减小,此即岩石的压实阶段&…

java方法带参数返回值_Java方法中的参数太多,第6部分:方法返回

java方法带参数返回值在当前的系列文章中,我正在致力于减少调用Java方法和构造函数所需的参数数量,到目前为止,我一直专注于直接影响参数本身的方法( 自定义类型 , 参数对象 , 构建器模式 , 方法…

java足球游戏毕业设计,java毕业设计_springboot框架的校园足球管理平台

今天介绍一个java毕设题目, 题目内容为springboot框架的校园足球管理平台, 是一个采用b/s结构的javaweb项目, 采用java语言编写开发工具eclipse, 项目框架jspspringbootmybatis, 校园足球管理平台的信息存储于mysql中, 并基于mybatis进行了orm封装, 该校园足球管理平台系统通过…

python 爬取贝壳网小区名称_用Python爬取贝壳网新房和二手房数据

[Python] 纯文本查看 复制代码import randomimport requestsfrom bs4 import BeautifulSoupimport reimport mathfrom lxml import etreeUSER_AGENTS ["Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)&q…

Java 11功能– Java飞行记录器

在本文中,我们将看到如何利用Java Flight Recorder功能作为Java 11的一部分。之前,它是商业功能之一。 但是,对于带有JEP 328的 Java 11,它是开源的。 Java Flight Recorder将OS和JVM事件记录到一个文件中,可以使用Jav…

MATLAB slider中的数值,在微信小程序中如何使用slider设置数据值

这篇文章主要介绍了微信小程序使用slider设置数据值及switch开关组件功能,结合实例形式分析了slider组件及switch组件的功能与使用方法,并附带源码供读者下载参考,需要的朋友可以参考下本文实例讲述了微信小程序使用slider设置数据值及switch开关组件功能。分享给大家供大家参考…

qstandarditemmodel 重写data函数后无法实现拖拽_实现类似百度网盘上传的功能

今天写到了上传文件部分,记录一下。前端使用了dropzone.js(用于实现文件上传的JS库),并对此文件进行了细微修改。说一下思路吧:首先界面长这样:点击上传文件,需要弹出一个对话框,对话框中有支持拖拽文件的文…

逻辑斯蒂回归_逻辑斯蒂回归详细解析 | 统计学习方法学习笔记 | 数据分析 | 机器学习...

本文包括:重要概念逻辑斯蒂回归和线性回归二项逻辑斯谛回归模型逻辑斯蒂回顾与几率模型参数估计多项逻辑斯谛回归其它有关数据分析,机器学习的文章及社群1.重要概念:在正式介绍逻辑斯蒂回归模型之前,需要先对一些基本概念有所了解…

mysql 数据传输 定时,MySQL数据库定时备份的实现方法

1. 创建shell脚本2. 给shell脚本添加执行权限3. 给脚本添加定时任务crontab文件的说明:用户创建的crontab文件中,每一行都代表一项定时任务,每行的每个字段代表一项设置,它的格式每行共分为六个字段,前五段是时间设定字…

python 生意_本周互联网关注(2015515):劳动人民的生意经、python好还是go好

我很喜欢写这种类型的文章,写的也轻松,大家看的也多。性价比高。那么现在继续。一、所谓光辉岁月,不是波澜壮阔的时候,而是无人问津时,你对梦想的坚持。| 陈欧很多人刚开始创业时激情无比高涨,干着干着开始…

mysql空洞数据,Mysql 表空间和 数据页空洞

一、表空间1、表空间: innodb 引擎存储的最高层; 存放所有的数据2、独立表空间:Mysql 版本5.6 后默认开启的单表单空间(1)Innodb 默认存储引擎页的大小为 16K ;默认表空间 大小为96k(2)独立表空间 开启方式 innodb_file_per_table…

junit 5测试异常处理_在JUnit中处理异常的3种方式。 选择哪一个?

junit 5测试异常处理在JUnit中,有3种流行的方式来处理测试代码中的异常: 试捕习语 使用JUnit规则 带注解 我们应该使用哪一个?何时使用? 试捕习语 这个习语是最受欢迎的习语之一,因为它已在JUnit 3中使用。 Test…

python网站数据写入mysql_python网络爬虫抓取动态网页并将数据存入数据库MySQL

简述以下的代码是使用python实现的网络爬虫,抓取动态网页 http://hb.qq.com/baoliao/ 。此网页中的最新、精华下面的内容是由JavaScript动态生成的。审查网页元素与网页源码是不同。以上是网页源码以上是审查网页元素所以此处不能简单的使用正则表达式来获取内容。以…

交通流预测 | Matlab基于KNN-BiLSTM的交通流预测(对比SVR、LSTM、GRU、KNN-LSTM)

目录 预测效果基本介绍程序设计参考资料 预测效果 基本介绍 交通流预测 | Matlab基于KNN-BiLSTM的交通流预测(对比SVR、LSTM、GRU、KNN-LSTM) 程序设计 完整程序和数据获取方式:私信博主回复Matlab基于KNN-BiLSTM的交通流预测(对…

JMetro“ Metro”选项卡,Java的TreeView和ContextMenu(JavaFX)

我刚刚发布了JMetro的新更新,将版本升级到3.3.0。 在此更新中,您将找到: 新的TreeView Fluent设计系统(Metro)启发风格; 新的Tabs和TabPane FDS启发风格; 新的上下文菜单采用深色FDS启发的样…

蒙特卡罗计算积分matlab,matlab下二重积分的蒙特卡洛算法

%%monte_carlo_ff.m%被积函数(二重)function ffmonte_carlo_ff(x,y)ffx*y^2;%函数定义处end%%monte_carlo.m%蒙特卡洛计算二重积分function resultmonte_carlo(a,b,c,d,n,m)%先y后x积分,a是x积分下限,b是x积分上限,c是y积分下限,d…

数据挖掘原理与算法_技术分享|大数据挖掘算法之FPGrowth算法

程一舰数据技术处我们常说我们生活在信息时代,实际上,我们更多的还是生活在数据时代。因为从过去到现在累积了大量的数据,对数据的挖掘和分析也仅是从最近几年大数据和人工智能技术的发展而兴起。我们对现有数据价值的利用还远低于数据本身拥…