由于最近使用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群了,稍后会发布视频到哔哩哔哩。