Laden...

Performance bei List<string> in Textbox ausgeben

Erstellt von M@TUK vor 14 Jahren Letzter Beitrag vor 14 Jahren 4.205 Views
M
M@TUK Themenstarter:in
402 Beiträge seit 2005
vor 14 Jahren
Performance bei List<string> in Textbox ausgeben

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?

276 Beiträge seit 2007
vor 14 Jahren

du kannst den ladevorgang in einen Thread auslagern...dann würde die gui nicht blockieren, da das Laden der Zeilen "parallel" verläuft 😃

M
M@TUK Themenstarter:in
402 Beiträge seit 2005
vor 14 Jahren

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?

5.299 Beiträge seit 2008
vor 14 Jahren

Und wennde die List<String> mit string.Join("\n", liste) verkettest, und dann zuweist?

Der frühe Apfel fängt den Wurm.

363 Beiträge seit 2007
vor 14 Jahren

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!"