1.传入serialport 和待显示串口的Commbox
private void Search_AddSerialToComboBox(SerialPort MyPort, ComboBox MyBox)
{
//将可用端口号添加到ComboBox
string[] MyString = new string[20]; //最多容纳20个,太多会影响调试效率
string Buffer; //缓存
string []opened_port = new string[20]; //记录可以打开的,其实只是为了记住第一个可以打开的,供后面初始化
int count_opendPort = 0;
MyBox.Items.Clear(); //清空ComboBox内容
for (int i = 1; i < 20; i++) //循环
{
try //核心原理是依靠try和catch完成遍历
{
Buffer = "COM" + i.ToString();
MyPort.PortName = Buffer;
MyPort.Open(); //如果失败,后面的代码不会执行
opened_port[count_opendPort++] = Buffer;
MyBox.Items.Add(Buffer); //打开成功,添加至下俩列表
MyPort.Close(); //关闭
}
catch
{
}
}
MyBox.Text = opened_port[0]; //初始化第一个打开的,若都没打开则默认为空
}