欢迎来到C#上位机教程的零基础入门!本教程将帮助你从零开始学习C#编程,并使用C#构建上位机应用程序,本教程将以经典的串口工具开发为Demo,讲述一个项目如何去实现,学习之前请确保您对编程知识有大概的了解。需要了解的前置C#知识如下:
变量和数据类型
运算符和表达式
控制流程(条件语句和循环语句)
数组和集合
函数和方法
类和对象
异常处理
在本教程的讲解过程中将穿插以上知识点的讲解,使用的开发工具为:Visualstudio2022,使用框架为.NetFramwork4.7
本次开篇内容主要实现一个串口工具界面搭建和模拟发送数据的过程
1、新建项目
在VisualStudio2022创建Windows窗体应用
2、新建窗体界面
添加窗体界面后,在界面中添加工具控件,常用的控件如下:
请注意:Textbox控件需要点击右侧三角按钮,选择“multiLine”多行文本
Lable ----标签
Textbox----文本框
Button----按钮
Combox----组合框
RichTextBox----富文本框
最终效果如下图:
3、修改控件属性
我们需要根据编程习惯,在VisualStudio2022右侧的属性窗口里更改各个控件的‘“name”和“Text”属性
控件的“Name”属性建议安装C#的变量命名规则进行命名:C#的命名规则如下:
变量名称可以包含字母(大小写敏感)、数字和下划线(_)。
变量名称必须以字母或下划线开头,不能以数字开头。
变量名称不能包含空格或特殊字符,如@、#、$等。
变量名称应具有描述性,能够清晰地表达变量的用途和含义。
变量名称应使用驼峰命名法(Camel Case)或帕斯卡命名法(Pascal Case)。
驼峰命名法:变量名称的第一个单词小写,后续单词首字母大写,例如:myVariable、firstName。
帕斯卡命名法:变量名称的每个单词首字母都大写,例如:MyVariable、FirstName。
变量名称应尽量避免使用缩写和简写,除非是广为接受的常用缩写。
在命名时应注意避免与C#的关键字(如if、for、while等)冲突。
以下是一些良好的变量命名示例:
int age;
string firstName;
double averageScore;
bool isAvailable;
DateTime currentDate;
请注意,良好的变量命名可以提高代码的可读性和可维护性。选择具有描述性的变量名称,可以使代码更易于理解和调试。同时,遵循一致的命名约定可以使代码更加统一和易于团队协作。
4、编辑后台代码
双击“Form”,VisualStudio会自动生成 Form1_Load函数,我们在函数中添加以下代码:
//combox 数据绑定
string[] comData = { "com1", "com2", "com3", "com4" };
this.comSelect.DataSource = comData;
this.comSelect.SelectedIndex = 0;
//texbox数据初始化
this.textSend.Text = "我是发送";
this.texRece.Text = "我是接收";
双击“button”,VisualStudio会自动生成 sendBtn_Click函数,我们在函数中添加以下内容:
if (this.textSend.Text != " ")
{
this.texRece.AppendText(this.textSend.Text);
}
else
{
MessageBox.Show("请输入发送数据");
}
完整代码如下:
private void Form1_Load(object sender, EventArgs e)
{
//combox 数据绑定
string[] comData = { "com1", "com2", "com3", "com4" };
this.comSelect.DataSource = comData;
this.comSelect.SelectedIndex = 0;
//texbox数据初始化
this.textSend.Text = "我是发送";
this.texRece.Text = "我是接收";
}
private void sendBtn_Click(object sender, EventArgs e)
{
if (this.textSend.Text != " ")
{
this.texRece.AppendText(this.textSend.Text);
}
else
{
MessageBox.Show("请输入发送数据");
}
}
代码解析:在窗体初始化时会调用 Form1_Load函数将comData这个数组绑定到“combox”的DataSoure将其内容默认选择为“com1”,并将两个textbox的内容分别赋值。在单击“button”会调用sendBtn_click函数,并判断发送区的“textbox”的内容是不为空,如果不为空,将发送区的内容添加到接收区。否则将弹窗提示信息。
点击“button”模拟数据发送效果如下: