6
votes

I have a ListBox in a WinForm with multiselect enabled.

The selected items appear to be stored in an object, how to I get their values?

4

4 Answers

10
votes

Easy, depending on what type you stored:

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

Because this is an older, non-generic collection it is better not to use var to declare the item variable. That would only get you a reference of type object.

You can also use other properties like:

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

Just use the following code to display the selected item from the ListBox - for WinForm app...

string s = listbox1.Text; //replace listbox1 with your listbox control
0
votes

Try the SelectedItems property.

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

The selected items are found in the SelectedItems property. These are the objects that you added to the list box, so you can cast the objects to their respective type and access any members that way:

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