簡體   English   中英

通過使用C#更改端口值來獲取特定的串行端口信息

[英]get particular serialport information by changing the port value using C#

我在表單加載事件中編寫了以下代碼。 加載表單時,可用的串行端口將添加到組合框中。

 String[] ports = SerialPort.GetPortNames();    
private void Form1_Load(object sender, EventArgs e)
    {
        _serialPort = new SerialPort();
        foreach (string port in ports)
          {
            cbox.Items.Add(port);
          }
    }

下一步,在組合框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)添加到組合框中。 但是我的問題是我選擇的端口是什么,它僅從組合框中返回第一個端口的詳細信息(即,它僅返回COM3的詳細信息)。請任何人幫助我獲取我在組合框中選擇的端口的詳細信息。

在這里關注討論

http://social.msdn.microsoft.com/Forums/zh-CN/winformsdesigner/thread/c236cac4-a954-4a70-882d-bc20e2cc6e81

閱讀以下內容

我們無法通過SerialPort類型獲取信息。 我不知道為什么您需要在應用程序中使用此信息。 但是,有一個與您相同的問題已解決的線程。 您可以在此處查看代碼,看看它是否可以為您提供幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM