Ich habe eine ListBox in einer WinForm mit Multiselect aktiviert.
Die ausgewählten Elemente scheinen in einem Objekt gespeichert zu sein, wie erhalte ich ihre Werte?
Ich habe eine ListBox in einer WinForm mit Multiselect aktiviert.
Die ausgewählten Elemente scheinen in einem Objekt gespeichert zu sein, wie erhalte ich ihre Werte?
Ganz einfach, je nachdem, welchen Typ Sie gespeichert haben:
foreach (MyItemType item in listBox1.SelectedItems)
{
...
}
Da es sich um eine ältere, nicht generische Sammlung handelt, ist es besser, keine var
um die Elementvariable zu deklarieren. Damit würden Sie nur eine Referenz des Typs object
.
Sie können auch andere Eigenschaften verwenden wie:
if (listBox1.SelectedItems.Count > 0)
...
Die ausgewählten Elemente befinden sich in der SelectedItems
Eigentum. Dies sind die Objekte, die Sie dem Listenfeld hinzugefügt haben, so dass Sie die Objekte auf ihren jeweiligen Typ übertragen und auf diese Weise auf alle Mitglieder zugreifen können:
// get the first selected item, cast it to MyClass
MyClass item = listBox.SelectedItems[0] as MyClass;
if (item != null)
{
// use item here
}
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.