hallo ich mal wieder 
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
)
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
Dann bekommst du auch deinen Stern 
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 
Nochmals Danke.
Gruss Jens