using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports; //这里要求引用一个System.IO.Ports函数
namespace 串口助手
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void SearchAndAddSerialToComboBox(SerialPort MyPort, ComboBox MyBox) //封装一个串口扫描函数,将可用的短裤号添加大ComBox
{
string Buffer; // 缓存
MyBox.Items.Clear(); //清空ComBox内容
for (int i = 1; i < 20; i++) //循环这里只扫描1-19
{
try //核心原理是依靠try和catch完成遍历
{
Buffer = "COM" + i.ToString(); //将端口前面加COM字符
MyPort.PortName = Buffer;
MyPort.Open(); //打开端口,如果失败,后面的代码不会执行
MyBox.Items.Add(Buffer); //打开成功,添加至下拉列表
MyPort.Close(); //关闭端口
}
catch
{
}
}
}
private void button1_Click(object sender, EventArgs e) //点击按钮
{
SearchAndAddSerialToComboBox(serialPort1, comboBox1); //使用串口扫描函数
}
}
}