Hi!
Ich hab eine Liste (List<string>).
Jedes Element dieser Liste möchte ich nun in einer Zeil der Textbox anzeigen.
Das funktioniert auch schon nur blockiert das GUI solange nicht alle Zeilen
eingefügt bzw. angezeigt sind.
Ich geht mir foreach über die Liste und hänge
jedes Elemtent an die Textbox an.
Gibts ein Möglichkeit das Ganze performanter zu gestalten, bzw. dass
die Form nicht blockiert?
du kannst den ladevorgang in einen Thread auslagern...dann würde die gui nicht blockieren, da das Laden der Zeilen "parallel" verläuft 😃
Geht das mit dem BackgroundWorker?
Diesen verwende ich bereits um die Liste aufzubauen,
das funktioniert ganz gut.
Nur wie würde ich das Anzeigen per Thread lösen?
wenn ich mit jedem Element die Textbox update
blockierts doch wieder oder?
Hallo M@TUK,
siehe [FAQ] Warum blockiert mein GUI? und [FAQ] Controls von Thread aktualisieren lassen (Control.Invoke)
Und [Artikel] Performant Strings verketten.
herbivore
Und wennde die List<String> mit string.Join("\n", liste) verkettest, und dann zuweist?
Der frühe Apfel fängt den Wurm.
Hi,
alternativ kannst du ja auch eine Listbox verwenden.
Diese stellt dir dann 2 Methoden zur Verfügung, einmal BeginUpdate() und Endupdate().
Wenn du die Zuweisung zwischen den Methoden machst, wird die Listbox nur einmal aktuallisiert.
Gruß Cookiie
"Hail to the King, Baby!"