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?
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?
Try the SelectedItems property.
foreach (var selectedItem in listBox1.SelectedItems)
{
...
}
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)
...
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
}