Microsoft.VisualBasic.Devices.Ports.SerialPortNames'不能像方

本文关键字:不能 VisualBasic Devices Ports SerialPortNames Microsoft | 更新日期: 2023-09-27 18:10:18

有人能帮我解决这个问题吗?当尝试调试代码时得到这个错误。

        private void Form2_Load(object sender, System.EventArgs e)
    {
        this.Show();
        Form1.DefaultInstance.Close();
        ToolTip1.SetToolTip(ComboBox1, "Please enter a VALID phone number");
        ToolTip1.SetToolTip(ComboBox2, "Please check your COM port number before selecting. Connection could be made for outgoing cable or bluetooth port with data calling supported phone.");
        ComboBox1.SelectedIndex = 0;
        for (int i = 0; i < My.Computer.Ports.SerialPortNames.Count; i++)
        {
            ComboBox2.Items.Add(My.Computer.Ports.SerialPortNames(i));
        }
        ComboBox2.SelectedIndex = 0;
    }

这发生在"SerialPortNames"这一行:

ComboBox2.Items.Add(My.Computer.Ports.SerialPortNames(i));

Microsoft.VisualBasic.Devices.Ports.SerialPortNames'不能像方

您可能希望使用indexer - []而不是方法调用()

  for (int i = 0; i < My.Computer.Ports.SerialPortNames.Count; i++)
  {
        ComboBox2.Items.Add(My.Computer.Ports.SerialPortNames[i]);
  }

不妨试试

For Each sp As String In My.Computer.Ports.SerialPortNames
    ListBox1.Items.Add(sp)
Next 

摘自http://msdn.microsoft.com/en-us/library/yfbcbt43(v=vs.90).aspx

你把它当作一个方法而不是一个集合(后面跟着(i))。

试试下面两个中的一个:

for (int i = 0; i < My.Computer.Ports.SerialPortNames.Count; i++)
{
  ComboBox2.Items.Add(My.Computer.Ports.SerialPortNames[i]);
}

foreach(var portname in My.Computer.Ports.SerialPortNames)
{
  ComboBox2.Items.Add(portname);
}