Hallo,
ich komme mit einem wahrscheinlich banalen Problem einfach nicht weiter und hoffe auf Eure Hilfe:
Ich setze eine Checked-Listbox ein um mehrere Optionen aus- oder abzuwählen. Unmittelbar nach jeder Änderung sollen über eine Function andere Auflistungen angepasst werden.
Beim Aufruf dieser Funktion über .ItemCheck ist die Auflistung CheckedItems noch nicht aktualisiert sondern entspricht dem Zustand vor dem Ändern des Items und somit füllt die damit aufgerufene Function die Listen entsprechend einer Auswahl welcher nicht der angezeigten Auswahl in der Checked-Listbox entspricht.
Bei .SelectedIndexChanged ist zwar die Auflistung aktuell aber wenn man den .SelectIndex nicht ändert und der Checkedzustand des gerade geänderten Item wieder neu an-oder abwählt wird, wird .SelectedIndexChanged und damit meine Function die die anderen Listen anpasst nicht aufgerufen.
Wenn ich nun bei .SelectedIndexChanged noch ein .Selecteditem = -1 einfüge funktioniert das Ganze wie gewünscht aber nur so lange wie man nicht zu schnell clickt. Bei einem Doppelclick ändert sich die Anzeige 2x mal also der alte Anzeigezustand wird wieder hergestellt, aber die .SelectedIndexChanged wird nur einmal aufgerufen. Dadurch wird meine Function nur einmal "zwischen den beiden" Clicks aufgerufen und wieder entsprechen meine Auflistungen nicht der angezeigten Auswahl.
Versuche mit .Click / .MouseUp und Refresh-Aufruf führten alle nicht zum Erfolg.
Ich möchte natürlich gewährleisten, das die angezeigten Ergebnisse in jedem Fall der angezeigten Auswahl in der Checked-Listbox entsprechen.
Wahrscheinlich ist dieses ganz einfach - aber ich verzweifle langsam.
Ich hoffe, ich konnte mein Problem einigermaßen verständlich machen.
Vielen Dank im Voraus
ich komme mit einem wahrscheinlich banalen Problem einfach nicht weiter und hoffe auf Eure Hilfe:
Ich setze eine Checked-Listbox ein um mehrere Optionen aus- oder abzuwählen. Unmittelbar nach jeder Änderung sollen über eine Function andere Auflistungen angepasst werden.
Beim Aufruf dieser Funktion über .ItemCheck ist die Auflistung CheckedItems noch nicht aktualisiert sondern entspricht dem Zustand vor dem Ändern des Items und somit füllt die damit aufgerufene Function die Listen entsprechend einer Auswahl welcher nicht der angezeigten Auswahl in der Checked-Listbox entspricht.
Bei .SelectedIndexChanged ist zwar die Auflistung aktuell aber wenn man den .SelectIndex nicht ändert und der Checkedzustand des gerade geänderten Item wieder neu an-oder abwählt wird, wird .SelectedIndexChanged und damit meine Function die die anderen Listen anpasst nicht aufgerufen.
Wenn ich nun bei .SelectedIndexChanged noch ein .Selecteditem = -1 einfüge funktioniert das Ganze wie gewünscht aber nur so lange wie man nicht zu schnell clickt. Bei einem Doppelclick ändert sich die Anzeige 2x mal also der alte Anzeigezustand wird wieder hergestellt, aber die .SelectedIndexChanged wird nur einmal aufgerufen. Dadurch wird meine Function nur einmal "zwischen den beiden" Clicks aufgerufen und wieder entsprechen meine Auflistungen nicht der angezeigten Auswahl.
Versuche mit .Click / .MouseUp und Refresh-Aufruf führten alle nicht zum Erfolg.
Ich möchte natürlich gewährleisten, das die angezeigten Ergebnisse in jedem Fall der angezeigten Auswahl in der Checked-Listbox entsprechen.
Wahrscheinlich ist dieses ganz einfach - aber ich verzweifle langsam.
Ich hoffe, ich konnte mein Problem einigermaßen verständlich machen.
Vielen Dank im Voraus