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.
Was mache ich falsch?
Danke!
SC
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.
Was mache ich falsch?
Danke!
SC
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 172168
Url: https://administrator.de/contentid/172168
Ausgedruckt am: 21.11.2024 um 23:11 Uhr
7 Kommentare
Neuester Kommentar
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
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
Hi,
du must vom Ende der Liste anfangen, also von Count-1 nach 0