2010-06-02 3 views

ответ

6

легко, в зависимости от того, какого типа вы сохранили:

foreach (MyItemType item in listBox1.SelectedItems) 
{ 
    ... 
} 

Потому что это старый, не общий сбор, лучше не использовать var объявить переменный пункт. Это даст вам только ссылку типа object.

Вы также можете использовать другие свойства, как:

if (listBox1.SelectedItems.Count > 0) 
    ... 
0

Попробуйте свойство SelectedItems.

foreach (var selectedItem in listBox1.SelectedItems) 
{ 
    ... 
} 
0

Выбранные элементы находятся в SelectedItems собственности. Это объекты, которые были добавлены в окно списка, так что вы можете бросить объекты их соответствующего типа и доступ к любым членам таким образом:

// get the first selected item, cast it to MyClass 
MyClass item = listBox.SelectedItems[0] as MyClass; 
if (item != null) 
{ 
    // use item here 
} 
+1

Это позволит получить первый/единственный выбор, но по-прежнему необходимо проверить размер коллекции 'SelectedItems', иначе выбор не сделает этот индекс throw за пределами. –

+0

@Jon: вы, конечно, правы. Мой ответ не является попыткой стать полным руководством о том, как использовать свойство 'SelectedItems', а скорее отвечать на вопрос * Выбранные элементы, как представляется, хранятся в объекте, как я могу получить их значения *. –

+0

Достаточно справедливо. Я просто хотел добавить небольшое предупреждение для всех, кто хотел бы скопировать/вставить этот код. –

1

Просто используйте следующий код для отображения выбранного элемента из выпадающего списка - для приложения WinForm ...

string s = listbox1.Text; // заменим listbox1 на ваш элемент управления списком

Смежные вопросы