scroller
Goto Top

Windows - forms Alle Items aus CheckedListbox löschen

Hi,

ich benutze windows Forms in Powershell und möchte alle Items aus einer CheckedListbox auf einmal löschen.

im WWW habe ich dafür folgenden Code gefunden:

for ($i = 0; $i -lt $checkedListBox1.Items.Count; $i++){$checkedListBox1.Items.RemoveAt($i)}


komischerweise wird jedoch nur jeder zweitesItem gelöscht. Beim zweiten Aufruf wieder.
Usw. bis dann irgendwann alle weg sind.
Es wäre schön wenn alle sofort beim ersten klick geklöscht werden. face-smile
Was mache ich falsch?

Danke!
SC

Content-ID: 172168

Url: https://administrator.de/forum/windows-forms-alle-items-aus-checkedlistbox-loeschen-172168.html

Ausgedruckt am: 22.12.2024 um 09:12 Uhr

pulse
pulse 28.08.2011 um 14:02:01 Uhr
Goto Top
die eigenschaft "items" ist eine auflistung und besitzt somit die methode "clear" die alle einträge löscht
mathe172
mathe172 28.08.2011 um 18:03:35 Uhr
Goto Top
Hallo,

Ich denke, pulse hat das Problem bereits gelöst. Als Erklärung, warum nur jedes zweite Item gelöscht wird, schau dir mal dieses Beispiel an:

Am Anfang hat die Liste 5 Elemente:
A
B
C
D
E
F

Im ersten Schleifendurchgang wird das erste gelöscht:
B
C
D
E
F

Jetzt wird das zweite gelöscht (Achtung: B ist das erste, C das zweite):
B
D
E
F

Jetzt das dritte:
B
D
F

Jetzt würde das vierte gelöscht werden (Die Schliefe geht immer noch bis 6). Eigentlich sollte das ja einen Fehler produzieren, den du wahrscheinlich unterdrückt hast.

MfG,
Mathe172
99045
99045 28.08.2011 um 18:09:01 Uhr
Goto Top
Zitat von @Scroller:
Was mache ich falsch?

Hi,

du must vom Ende der Liste anfangen, also von Count-1 nach 0
dog
dog 29.08.2011 um 00:34:13 Uhr
Goto Top
Oder so lange das Erste löschen bis die Liste leer ist face-wink
Scroller
Scroller 29.08.2011 um 08:06:25 Uhr
Goto Top
Hi Pulse,

danke, das war die Lösung.


SC
Scroller
Scroller 29.08.2011 um 08:07:10 Uhr
Goto Top
Hi Mathe172,

nicht das zweite sondern JEDES ZWEITE wird bei einem Durchlauf gelöscht

Also Liste:

A B C D E F G H I

Werden beim ersten durchlauf gelöscht: B D F H

beim nächsten werden dann D und H Gelöscht usw bis irgendwann die Liste leer ist.

Würd mich ja schon interessieren was da abläuft
Danke
SC
mathe172
mathe172 29.08.2011 um 16:16:17 Uhr
Goto Top
Hallo,

dieses Schrittweise löschen der Elemente, wie ich es beschrieben habe, passiert in einem Schleifendurchgang. Also einmal klicken--> Einmal komplette Schleife (mit allen oben angeführten Schritten)

MfG,
Mathe172