C# 通过使用C更改端口值来获取特定的serialport信息

C# 通过使用C更改端口值来获取特定的serialport信息,c#,serial-port,C#,Serial Port,我已经在表单加载事件中编写了以下代码。加载表单时,可用的串行端口将添加到组合框中 String[] ports = SerialPort.GetPortNames(); private void Form1_Load(object sender, EventArgs e) { _serialPort = new SerialPort(); foreach (string port in ports) {

我已经在表单加载事件中编写了以下代码。加载表单时,可用的串行端口将添加到组合框中

 String[] ports = SerialPort.GetPortNames();    
private void Form1_Load(object sender, EventArgs e)
    {
        _serialPort = new SerialPort();
        foreach (string port in ports)
          {
            cbox.Items.Add(port);
          }
    }
在下一步中,在combobox selectedindex_changed事件中,当我更改端口时,将在多行文本框中更新端口详细信息

 private void cbox_SelectedIndexChanged(object sender, EventArgs e)
      {
          using (var searcher = new ManagementObjectSearcher("SELECT * FROM WIN32_SerialPort"))
          {
              var prts = searcher.Get().Cast<ManagementBaseObject>().ToList();
              var tList = (from n in ports
                           join p in prts on n equals p["DeviceID"].ToString()
                           select n + " - " + p["Caption"]).ToList();
              foreach (string s in tList)
              {
               mtxt.AppendText(s);  // multiline textbox
              }
          }
      }
例如: 在这个程序中,端口被添加到COM3到comX的组合框中。
但我的问题是,无论我选择哪个端口,它都只返回combobox中第一个端口的详细信息,即它只返回COM3的详细信息。请任何人帮助我获取我在combobox中选择的端口的详细信息。

请关注这里的讨论

阅读下面的文章

我们无法通过SerialPort类型获取信息。我不知道 为什么在应用程序中需要此信息。然而,有一个 用和你一样的问题提问。你可以查看代码 好了,看看能不能帮上忙