如果你确实有这么多疑问,确实应该先打好基础。这些问题的答案,稍微有些基础的人,都应该知道的。
1)ComNo是.NET的专用词汇吗?起什么作用的呢?
ComNo是自己给ComboBox控件起的名字。根据你的代码,你得参考WinForm界面有关的编程。
2)Items是.NET的专用词汇吗?起什么作用的呢?
Items是ComboBox的一个属性。参考.Net属性有关资料。
3)AddRange是.NET的专用词汇吗?起什么作用的呢?
AddRange()是做集合(Collection)进行的一种加入新的Item的操作,一次可以加入许多Item.
4)GetPortNames是.NET的专用词汇吗?起什么作用的呢?
GetPortNames是SerialPort类的一个静态方法。作用是得到所有COM口(通过这种方法,实际上有些不能得到。接下来会讲到)
5)这句代码就可以获取电脑上的串口了吗?电脑上有多少个串口,通过这句代码就可以全部获取吗?
这种方法是有缺陷的。例如通过USB枚举出的COM口,通过GetPortNames就不能得到。
以下是我在代码中找所有COM的方法(关键部分)
//Because Win32_SerialPort can't find the virtual COM ports, use Win32_PnPEntity here using (var searcher = new ManagementObjectSearcher(@"root\CIMV2", "SELECT * FROM Win32_PnPEntity WHERE Status='OK'"))
{
foreach (var queryObj in searcher.Get())
{
ComPortInfo comPortInfo;
if (TryParseComPortInfo(queryObj, out comPortInfo)) _comPortInfoList.Add(comPortInfo);
}
}