ListBox Elemente prüfen
-
Servus!
Ich würde gerne eine foreach Schleife über ausgewählte ListBox (CheckedListBox) Elemente machen, quasi so:
foreach (lbx.selectedItem in lbx.selectedItems) { //tue etwas... }
Aber das klappt so nicht. Weiß jemand wie man richtig prüft?? thx
-
Du mußt bei der foreach-Schleife natürlich eine Variable angeben, z.B.
foreach (x in lbx.selectedItems) { //tue etwas... (mit x) }
wobei die Variable x dann vom entsprechenden Typ (ListBoxItem ?) sein muß.
-
Hmm, klappt nicht so recht, da ich weder ListItem noch sonst etwas passendes finden kann...
Ich habe es mal folgendermaßen versucht:foreach (object itemChecked in lbx.CheckedIndices)
Dabei werden aber nicht die "Inhalte" der angegeben, sondern nur 0,1,2, ....
Ich möchte aber, dass die Werte der selektierten Items ausgegeben werden.
-
foreach (object itemChecked in lbx.CheckedIndices)
ist schon garnicht schlecht, aber nimm doch statt "lbx.CheckedIndices" "lbx.CheckedItems", dann bekommst du das Objekt, also die "Inhalte" zurück.
-
So geht es etwas eleganter als mit 'object', da direkt die markierten Items bekommst:
foreach(ListViewItem itemChecked in lbx.CheckedItems) { // Etwas tun ... }
-
Zerebus schrieb:
So geht es etwas eleganter als mit 'object', da direkt die markierten Items bekommst
Ist richtig, wenn du dir sicher bist dass nur ListViewItems in Checked items sind. Es dreht sich hier aber um eine ListBox und nicht um einen ListView, und da ist das Item Property eben eine Object Collection und keine ListViewItemCollection, deshalb ist hier Vorsicht geboten (Es kann also so ziemlich alles in der Collection gespeichert werden, nicht nur ListViewItems).
-
Danke!
Mit
foreach (object itemChecked in lbx.CheckedItems)
funktioniert alles wunderbar!