源代码如下:
private void LoadListboxes()
        {
            string[] ports = SerialPort.GetPortNames();            foreach (string port in ports)
            {
                lstPorts.Items.Add(port);
            }            lstPorts.SelectedIndex = 0;
但是按F5调试的结果是:
InvalidArgument=“0”的值对于“SelectedIndex”无效
我想知道是不是我的串口不能用,还是其他什么原因造成的这个错误呢?同样的程序在另一位同学机器上面就能够使用,我该怎么办呢?

解决方案 »

  1.   

    获取系统串口数量        private void GetCommList()
            {
                RegistryKey keyCom = Registry.LocalMachine.OpenSubKey("Hardware\\DeviceMap\\SerialComm");
                if (keyCom != null)
                {
                    string[] sSubKeys = keyCom.GetValueNames();
                    foreach (string sName in sSubKeys)
                    {
                        lstPorts.Items.Add(sName);
                    }
                }
      

  2.   

    不好意思你的代码我看错了,应该也没错你看看你是否引用命名空间:
    using System.IO;
    using System.IO.Ports;