Visual C# 2008: Неизвикваем член „Microsoft.VisualBasic.Devices.Ports.SerialPortNames“ не може да се използва като метод

може ли някой да ми помогне с този проблем..? получи тази грешка при опит за отстраняване на грешки в кода..

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

person Kerr_Krek    schedule 22.04.2013    source източник
comment
Вероятно искате да използвате индексатор - [] вместо извикване на метод ()   -  person alex    schedule 22.04.2013
comment
можете ли да ми помогнете да покажа къде трябва да поставя индексатора, моля?   -  person Kerr_Krek    schedule 22.04.2013
comment
ЕХА!!!!!!! Благодаря ти приятелю!!!!! Опитах го и сложих индексатора- [i] и той работи като чар!!!!! Благодаря много!!!! наистина оценявам вашата помощ...благодаря ви още веднъж...   -  person Kerr_Krek    schedule 22.04.2013


Отговори (3)


Вероятно искате да използвате индексатор - [] вместо извикване на метод ()

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

Може би опитайте

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

Това е взето от http://msdn.microsoft.com/en-us/library/yfbcbt43%28v=vs.90%29.aspx

person 3dd    schedule 22.04.2013
comment
вече опитах този метод и той не работи или аз не знам как работи този код...между другото, той вече се решава...благодаря много, че ми помогна... :-) - person Kerr_Krek; 22.04.2013

Използвате го като метод, а не като колекция (следвайки го с (i)).

Опитайте едно от тези две:

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

or

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