2011-02-20 2 views
1

Я получаю следующее сообщение об ошибке для ЕогеаспаCOMBOBOX Примеры

Foreach заявление не может работать на переменных «объекта» типа, потому что «объект» не содержит публичного определение «GetEnumerator»

творю любого синтаксическая ошибка

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 

namespace WindowsFormsApplication6 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void Namepopu_SelectedIndexChanged(object sender, EventArgs e) 
     { 
      // this.textBox1.Text = Namepopu.Text; 
      // this.textBox1.Text = " "; 

      foreach (int i in Namepopu.SelectedItem) 
       this.textBox1.Text += Namepopu.Text[i]; 
      { 

      } 
     } 
     private void Form1_Load(object sender, EventArgs e) 
     { 

     } 
    } 
} 
+2

Вы не можете пройти через «SelectedItem». Что вы пытаетесь сделать точно? – BoltClock

+1

Ваши брекеты не в том месте. – SLaks

ответ

5

Возможно, вы намеревались это сделать?

for (int i = 0; i < Namepopu.Items.Count; ++i) 
{ 
    this.textBox1.Text += Namepopu.Items[i].ToString(); 
} 
0

Какое содержимое Namepopu.SelectedItem? Массив ? Общий список? Сначала запустите его в свой первоначальный тип, а затем переверните его в своем foreach.

Например:

List<int> myValues = (List<int>)Namepopu.SelectedItem; 

foreach (int i in myValues) 
{ 
    ... 
} 

или

int[] myValues = (int[])Namepopu.SelectedItem; 

foreach (int i in myValues) 
{ 
    ... 
} 
+0

Если это то, что делает OP, она может просто использовать 'IEnumerable ' в любом случае. –

0
textBox1.Text = string.Empty; 
foreach (var item in Namepopu.SelectedItems) 
    textBox1.Text += item.ToString(); 
+0

'SelectedItems' не является собственностью' ComboBox'. –

0

Проблема заключается в том, что вы пытаетесь получить нумератор за то, что не реализует интерфейс IEnumerator. Для перечисления типов коллекций вы можете выполнять итерацию, используя для каждой из этих статей MSDN полезную (http://msdn.microsoft.com/en-us/library/dscyy5s0.aspx).