前言
接上篇《Visual Studio的安装及配置》,依旧以设备参数记录器项目为例介绍工程创建及Form界面设计。编程语言C#,编译环境Visual Studio。
工程创建及Form界面设计
(一)VS工程创建
1)打开VS软件,主页面点击“文件-新建-项目”或者直接页面导航“新建项目”开始项目创建。
2)选择模板。项目使用Microsoft.NETFramework4.5提供的模板,在右侧模板中选择Visual C#会出现右侧窗体栏,创建Windows窗体应用程序。在下侧栏中更改项目名称及解决方案的名称,可以通过右侧的“浏览”Button行路径选择。
3) 解决方案相当于系统工程的目录,善加应用可以迅速定位到想到达到的界面或函数体;
(二)Form界面设计
项目中用到的控件包括:Button、Checkbox、GroupBox、Label、ComboBox等,VS在工具栏中为我们提供了丰富的控件选择。界面布局如下:
按照上图所示进行控件布局,其中“当前时间显示”是通过读取 系统时间后,将时间显示才此处;
1)属性配置
控件属性配置方式为:选中控件-右键-属性,打开属性窗口,以Button控件(上图中的Open)为例,如下图:
初学者其他属性暂时不用处理,大小直接在Form界面鼠标缩放就好了。此处重点强调“设计-(Name)”中的内容(buttonOpenClose)是对应于函数名,类似于MFC中的控件ID,可以把其想象为指针变量的名字;而“外观-Text”中的内容(Open)则是我们想要在控件上呈现出来的名字,可以理解为指针变量对应的内存空间中储存的数据。当然,指针变量指向的地址不可变,但是储存的内容是可以进行更改的。
2)控件函数编辑
例如在本项目中默认设定的Text名字为“Open”表示在此处打开串口,但是打开串口后需要将Button的内容呈现更改为“Close”表示用户需要在此处关闭串口,采用的方式为在.cs(双击控件可以直接跳转到对应函数体中)中的函数体中添加触发事件进行更改,参考代码如下:
private void buttonOpenClose_Click(object sender, EventArgs e)
{
//根据当前串口对象,来判断操作
if (comm.IsOpen)
{
//打开时点击,则关闭串口
comm.Close();
myTimer.Stop();//.Enabled = false; //定时器关闭
comboPortName.Enabled = true;
}
else
{
//关闭时点击,则设置好端口,波特率后打开
comm.PortName = comboPortName.Text;
comm.BaudRate = int.Parse("115200");
comboPortName.Enabled = false;
try
{
comm.Open();
}
catch (Exception ex)
{
//捕获到异常信息,创建一个新的comm对象,之前的不能用了。
comm = new SerialPort();
//现实异常信息给客户。
MessageBox.Show(ex.Message);
}
myTimer.Start();
}
//设置按钮的状态
buttonOpenClose.Text = comm.IsOpen ? "Close" : "Open";
}
一般的,设置控件需要呈现内容的方式为:控件ID.Text = “被设定内容”,此处将Button设定为Close的方式应为buttonOpenClose.Text = "Close",在项目中采用“三模运算符”进行条件判断,即当串口是打开状态则显示Close,若为关闭状态显示Open;
4)关于“.Designer.cs”文件说明
打开“.Designer.cs”文件,其中占幅内容最大的函数为“InitializeComponent”函数,此函数的作用为在解决方案启动或编译的时候,对Form界面进行初始化,因此关于界面与控件所有属性初始化配置的可视化界面操作后的操作都对应在此处,同样以Button控件为例,源码如下:
//
// buttonOpenClose
//
this.buttonOpenClose.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
this.buttonOpenClose.Font = new System.Drawing.Font("宋体", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.buttonOpenClose.ForeColor = System.Drawing.Color.Black;
this.buttonOpenClose.Location = new System.Drawing.Point(361, 5);
this.buttonOpenClose.Name = "buttonOpenClose";
this.buttonOpenClose.Size = new System.Drawing.Size(137, 27);
this.buttonOpenClose.TabIndex = 0;
this.buttonOpenClose.Text = "Open";
this.buttonOpenClose.UseVisualStyleBackColor = true;
this.buttonOpenClose.Click += new System.EventHandler(this.buttonOpenClose_Click);
在上述代码中,很明显的可以看到关于Button在界面上的坐标、属性、大小、命名等等,最后是创建了一个New到函数“this.buttonOpenClose_Click”中。
小结
本篇内容主要是对项目工程的创建、Form界面的操作、控件属性、空间函数体等进行了简单介绍,方便读者对项目基本组成框架进行了解。下篇文章将对设备参数记录器软件的相关方法进行介绍。