由于最近使用FPGA的通信模块,对于上位机的功能需要一些改动,开始学习一下上位机软件的制作,因为没有学过C++等等,更不了解上位机软件的制作流程。最近看了一点学习资料,觉得是很好的入门教程。通过一个定时器一个小软件的制作,来熟悉整个流程。下面是该软件的制作过程。

首先,打开VS软件,建立项目:

选择C#语言,然后架构选择4,不同的架构适用于不同的Windows环境,有的架构只能XP适用,然后选择窗体应用程序,再命名就好了:

建立好之后,就可以在解决方案中看到form1,点击form1.cs就是我们程序设计的图形化窗口,在这里添加程序界面的图形化按钮:

这些图形按钮,有各自的功能,比如这里我们使用了按钮,下拉框,进度条等,是在工具里面调用的,然后点击添加的一些控件,就可以在右边看到有很多属性可以改,比如图形大小,标签名字等等:

然后就是程序的编写,在图形界面双击一个控件,就会形成一个触发事件,就可以在程序里面去控制,你想要的是什么效果:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;namespace WindowsFormsApplication2
{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() + " 秒"); //对其items的属性添加下拉列表的值,将i以数字形式展示,后面再加秒(要加空格 后面要提取数字部分)}comboBox1.Text = "1 秒";//  label3.Text = "";}private void timer1_Tick(object sender, EventArgs e) //定时器事件{count++; //记当前秒label3.Text = (time - count).ToString() + "秒";  //显示剩余时间progressBar1.Value = count;  //设置进度条进度if (count == time){timer1.Stop();  //时间到,停止计时System.Media.SystemSounds.Asterisk.Play();  //提示音MessageBox.Show("时间到了!","提示");  //弹出提示框}}private void button1_Click(object sender, EventArgs e)  //开始计时按钮事件{string str = comboBox1.Text;  //把下拉框里面的字符存下来time = Convert.ToInt16(str.Substring(0,2)); //得到设定的定时器值(整形)(从字符串的第0位开始提取,然后提取两位得到整形数据)progressBar1.Maximum = time;timer1.Start();//开始计时}}
}

然后在下面这个文件中,会系统生成每一步的触发事件:

然后点击debug(或者release)旁边的绿色三角形,就可以看到效果(一个是调试版本,一个是发布版本)

完整工程放在qq群了,稍后会发布视频到哔哩哔哩。

visual studio创立上位机软件(C#)(定时器)相关推荐

  1. visual studio STM32上位机开发 LED上位机

    上段时间杂事比较多,没来得及写东西,下面开始记录一下这几天开发的第一个算是比较合格的上位机吧. 首先板子上面使用CH340串口,RX和TX连接PA9和PA10使用usart进行通信,led的端口可以自 ...

  2. C++ MFC实现基于RFID读写器的上位机软件

    C++ MFC实现基于RFID读写器的上位机软件 该博客涉及的完整工程托管在https://github.com/Wsine/UpperMonitor,觉得好请给个Star (/▽\=) 运行和测试环 ...

  3. 上位机软件开发项目案例(一)_C#开发

    了解或咨询 上位机软件开发/LabVIEW软件开发/C#软件开发/QT软件开发,请访问AgainDo再度科技官网:www.againdo.com 概述 该软件为线束连接器自动化生产设备上位机软件,系统 ...

  4. 基于C#的工控上位机软件开发从入门到学废,需要几步?

    基于C#的工控上位机软件开发从入门到学废,需要几步? 随着工控产品的应用,开始大幅度渗透进民用领域.涉及的工控产品范围广泛,如PLC.DCS.变频器.仪表.电机.SCADA.低压及配电元器件等. 准备 ...

  5. 上位机软件改写的经验教训

    因仪表需要调试,准备写一款上位机软件内部使用,通过串口与仪表连接. 首先在Github上找开源,经多方对比,觉得Mysscom比较全面,与sscom类似.下载地址 GitHub - leon1741/ ...

  6. QT实现简单的上位机软件

    最近项目要求写上位机软件,需要实现界面功能和串口读写.界面方面用过MFC(早忘记了),网上查阅资料后发现QT在5.1版本后有自带的串口模块,而且用QT实现简单界面功能很容易上手(也就期末设计随便玩过几 ...

  7. 适用于Visual Studio的跨平台开发软件VisualGDB

    适用于Visual Studio的跨平台开发软件VisualGDB 1 . 轻松跨平台 VisualGDB使使用Visual Studio的跨平台开发变得轻松而舒适. ■ 准系统嵌入式系统和物联网模块 ...

  8. VC++6.0上实现PC机与单片机串口通信的PC端上位机软件

    1.简介 我做这个的主要原因是选了一个PC和单片机的全双工串口通信作为课设题目,单片机端是用汇编语言编程且要预先下载到板子里,关于这个这里我就不多说,主要说说怎么实现PC端的上位机软件.早知道要写软件 ...

  9. 嵌入式与卫星导航定位上位机软件开发(基于MFC框架)

    嵌入式与卫星导航定位上位机软件开发(基于MFC框架) 1 串口通信--MSComm 控件 2 数据绘图--ChartCtrl 3 小结 专业课程要求,在SEED-DEC6713开发板上实现实时的单点定 ...

最新文章

  1. 三棱锥四面体html css,CSS transform属性实现旋转的四面体
  2. [Erlang 0014]Erlang垃圾回收机制
  3. boost::boost::stoer_wagner_min_cut用法的测试程序
  4. 【maven】dependency的systemPath属性:引入本地系统中的jar
  5. can通讯bdc_宝马总线K-CAN3和K-CAN4常见案例
  6. php手册+w3c,W3C 教程
  7. java 图片服务器 上传_Java实现把图片上传到图片服务器(nginx+vsftp)
  8. Linux 主要目录速查表
  9. 上海自考计算机应用基础实践,上海自考《计算机应用基础》试题练习(八)
  10. wow 卡正在连接服务器,魔兽世界怀旧服卡蓝条服务器无法连接解决办法
  11. 1小时场景生活圈来了!苏宁双十一引领零售体验革命
  12. 3dmax:3dmax的软件中右边工具栏的创建、修改、层次、运动、显示、几何体的粒子系统、工具、灯光、摄影、空间扭曲、系统、实用程序、辅助对象等使用技巧之详细攻略
  13. axure操作回复_Axure8.0基础教程(21-30)新手必须掌握的基础操作
  14. linux4.12内核 bridge简介
  15. 云计算机是对什么技术的发展,云计算是对什么技术的发展与运用
  16. Building package xxx:xxx-windows failed with: BUILD_FAILED
  17. java 小程序 学生成绩_自己搞的小程序,学生管理信息系统,大家来看看
  18. 如何打开java工程文件
  19. 摆动序列算法C语言,376 摆动序列 leetcode
  20. 【MATLAB基础】MATLAB与Word互联(4)

热门文章

  1. leetcode881.救生艇(中等)
  2. 程序员复工后被裁,600万房21000房贷无力偿还,给年轻人3点忠告
  3. 如何在基于vue-cli的项目中,使用精灵图 css sprite
  4. 【LeetCode】重复元素相关题目
  5. linux变量符号生效规则,shell的变量功能
  6. mc是用java写的吗_都说MC的代码特别差劲,你觉得它在所有游戏中,能排第几?...
  7. 使用jmeter进行压测
  8. 维图PDMS切图软件
  9. python 北京出租车收费3.45_北京出租车计费标准和价目表
  10. linux下DNS配置及域名解析服务,linux DNS域名解析服务