Visual C#2008:非可调用成员'Microsoft.VisualBasic.Devices.Ports.SerialPortNames'不能像方法一样使用

时间:2013-04-22 18:50:47

标签: c# .net com serial-port visual-c#-express-2010

有人可以帮我解决这个问题..?尝试调试代码时遇到此错误..

        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));

3 个答案:

答案 0 :(得分:0)

也许试试

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

您将其用作方法而不是集合(使用(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);
}