Lstcheckbox checked items ansprechen

hallo ich mal wieder :smile:
ich habe eine checkedlistbox ‚lstSchuelerLoeschen‘ und einen Button ‚btnLoeschenSchueler‘.

Beim Klick auf den button sollen alle in der lstbox gecheckten objekte gelöscht werden. Nach herumsuchen hab ich mir ne schleife zusammengebastelt, die aber nicht funktioniert, so langsam bin ich mal wieder am punkt wo ich nicht weiss wie was angesprochen wird.

 For Each itemChecked In lstSchuelerLoeschen.CheckedItems
 If lstSchuelerLoeschen.GetItemCheckState(lstSchuelerLoeschen.Items.IndexOf(itemChecked)) = CheckState.checked Then
 lstSchuelerLoeschen.SelectedItem.remove()

 End If
 Next

Das funktioniert in dem falle nicht da immer alle gelöscht werden.
vielleicht hat ja jemand ne zĂŒndene idee.

Gruss Jens

Hallo!

Du löscht jeweils das SelectedItem, aber das ist etwas anderes als das jeweilige CheckedItem.

Irgendwie ist die ganze Iteration totaler Quark: Du iterierst ĂŒber die CheckedItems (worin eh’ nur die angehakten EintrĂ€ge enthalten sind), holst Dir dann nochmal ein Item anhand des Index in der Liste, ĂŒberprĂŒfst noch einmal, ob es auch wirklich angehakt ist und löscht am Schluss noch das falsche Element.

Wie wĂ€re es denn damit (die Umwandlung nach VB.NET ĂŒberlasse ich dem geneigten Leser zur Übung :smile: )

for (int i=0; iGruß,
Martin


> <small>[Bei dieser Antwort wurde das Vollzitat nachtrÀglich automatisiert entfernt]</small>

Hallo Martin

Sowas hatte ich schon vermutet. Danke fĂŒr deine Hilfe, werde ich die Tage in VB.Net Konvertieren :wink: Dann bekommst du auch deinen Stern :smile:
Toll das sich Leute noch die Zeit nehmen und AnfÀngern oder besser engagierten Amateuren ein wenig unter di eARme greifen.

Schönes WE noch

Gruss Jens

Hallo Martin

Hier meine Lösung/Konvertierung:

Dim i As Integer
 Dim zeahler As Integer = lstSchuelerLoeschen.Items.Count

 Do Until i \> zeahler
 If lstSchuelerLoeschen.CheckedIndices.Contains(i) Then
 lstSchuelerLoeschen.Items.RemoveAt(i)
 i -= 1
 End If
 i += 1
 Loop

So funktioniert es jedenfalls, basierend auf deinem C Code :smile:
Nochmals Danke.

Gruss Jens