第四节:基于Winform框架的串口助手小项目---开关串口《C#编程》
在漫漫人生征途上,学习宛如一座明亮的灯塔,为我们指引前行的方向。然而,学习之路并非总是一帆风顺,我们常常会遭遇各种挫折与困难,陷入迷茫与疲惫之中。此时,学习激励就如同那温暖的火种,能够重新点燃我们内心对知识的渴望,赋予我们继续前行的力量。—————WHAPPY
介绍一下:解决方案里有的内容
Form1.cs [设计]
:表明Form1.cs
这个文件当前处于设计视图状态,在 C# 开发 Windows Forms 应用程序时,可通过可视化界面设计窗口及控件等元素。
Form1.Designer.cs
:是由开发工具自动生成的文件,用于存放窗体及控件的初始化代码等内容,一般不需要手动大量修改。
Form1.cs
:是主要的代码文件,用于编写与该窗体相关的业务逻辑代码,比如按钮点击事件处理、数据交互等功能的实现。
1.任务目标:
2.Button控件的使用

1. 配置 Button 的文字和图片
方法 1:在设计器(Designer)中设置
- 选中 Button 控件。
- 在 属性(Properties)窗口中找到:
Text
:设置按钮的文字。Image
:选择按钮的图片(Image
类型)。TextImageRelation
:设置文字和图片的相对位置(如ImageAboveText
)。ImageAlign
:调整图片在按钮内的对齐方式(如MiddleCenter
)。TextAlign
:调整文本在按钮内的对齐方式(如MiddleCenter
)。
方法 2:在代码中动态设置
如果你想在代码中配置 按钮的文字和图片,可以这样做:
// 设置按钮文字 myButton.Text = "打开串口"; // 设置按钮图片(确保 "icon.png" 存在于项目的资源文件夹中) myButton.Image = Image.FromFile("icon.png"); // 调整图片与文字的相对位置 myButton.TextImageRelation = TextImageRelation.ImageAboveText; // 图片在文字上方 // myButton.TextImageRelation = TextImageRelation.ImageBeforeText; // 图片在文字左侧 // 调整图片在按钮内的对齐方式 myButton.ImageAlign = ContentAlignment.MiddleCenter; // 调整文字在按钮内的对齐方式 myButton.TextAlign = ContentAlignment.MiddleCenter;
2. 处理 Button 的 Click 事件
按钮的 Click
事件可以用来执行打开/关闭串口、弹窗提示等操作。
方法 1:在设计器中绑定 Click 事件
- 选中 Button 控件。
- 在 属性窗口找到
Click
事件。 - 双击
Click
事件,自动生成button1_Click
方法:
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("你点击了按钮!"); }
方法 2:在代码中动态绑定 Click 事件
如果按钮是 运行时动态创建的,需要用 +=
绑定事件:
3.虚拟端口的使用
下载连接:
虚拟串口驱动(VirtualSerialPortDriver,简称VSPD)6.9版本的汉化软件界面VSPD是用于创建虚拟串口的工具资源-CSDN文库
4.代码实现
源码:
private void OpenSerial_btn_Click(object sender, EventArgs e)
{
try
{
if (!serialPort1.IsOpen) // 如果串口未打开,则执行打开逻辑
{
serialPort1.PortName = Port_cbb.Text;
serialPort1.BaudRate = Convert.ToInt32(Baud_cbb.Text);
serialPort1.DataBits = Convert.ToInt32(Databit_cbb.Text);
// 设置校验位
switch (Checkbit_cbb.SelectedIndex)
{
case 0:
serialPort1.Parity = Parity.None;
break;
case 1:
serialPort1.Parity = Parity.Even;
break;
case 2:
serialPort1.Parity = Parity.Odd;
break;
default:
serialPort1.Parity = Parity.None;
break;
}
// **修正错误:用 Stopbit_cbb 控制 StopBits**
switch (Stopbit_cbb.SelectedIndex)
{
case 0:
serialPort1.StopBits = StopBits.One;
break;
case 1:
serialPort1.StopBits = StopBits.OnePointFive;
break;
case 2:
serialPort1.StopBits = StopBits.Two;
break;
default:
serialPort1.StopBits = StopBits.One;
break;
}
serialPort1.Open();
isOpen = true;
OpenSerial_btn.Text = "关闭串口"; // **更新按钮文本**
}
else // **如果串口已打开,则执行关闭逻辑**
{
serialPort1.Close();
isOpen = false;
OpenSerial_btn.Text = "打开串口"; // **恢复按钮文本**
}
}
catch (Exception ex)
{
MessageBox.Show("操作串口失败:" + ex.Message);
}
}
5.实现效果
本节主要实现了,加载窗体时默认显示初始值(如:波特率默认加载为9600),并对打开按钮进行了事件处理,(双击打开按键并对其进行编辑操作,主要是完成打开空间的业务逻辑)。
未完待续》》》》》》》》》