AXMD hat folgendes geschrieben: |
Khabarakh hat folgendes geschrieben: | Na dann würde ich einfach die Items einzeln hinzufügen . |
Das erhöht doch die Dauer zusätzlich |
Wenn Du eine Aktualisierung der GUI willst, braucht das nunmal Rechenzeit. Eine eingefrorene GUI wird immer weniger Rechenzeit brauchen, als eine, die reagiert. Erinnere Dich an
Application.ProcessMessages aus den Delphi-Zeiten
Du schreibst zwar, die GUI hänge bei AddRange, aber es dürfte eher der Aufruf von EndUpdate sein, oder? Denn erst dann wird die GUI aktualisiert. Und zu dem Zeitpunkt wird halt ein großer Batzen an Items auf einmal in die Listbox gepackt und das blockiert. Ich sehe auch nur die Möglichkeit, immer nur ein paar Items in die Listbox zu packen , damit die GUI zwischendurch Zeit hat, sich zu Aktualisieren.
In der WPF hätte man die Möglichkeit, bei Invoke noch eine Priorität mitzugeben, aber das ist mir aus WinForms nicht bekannt.
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".