Hallo,
kurze Frage zum Listview. Ich fülle das Listview mit daten, die aus einer TXT oder XML-Datei geladen werden. Kleinere Dateien sind kein Problem, nur größere verursachen ein hängen bleiben o.ä.
Ich habe schon versucht das ListView in einem Thread zu füllen. Dies Funktionierte zwar, aber dennoch war das Programm nicht benutzbar.
Mit BeginUpdate und EndUpdate habe ich auch schon versucht, ebenso das gleiche Problem. Ausser das bei geringen Datenmängen ein Geschwindigkeitsvorteil zu spüren war.
Was für möglichkeiten gäbe es denn das Listview element mit Daten zu füllen, die Applikation aber dennoch bedienbar zu halten?
Grüße
Kostenlose Backlinks und Linktausch auf linkSpring
grundsätzlich kannst du das nur über einen thread steuern. das ist wie mit anderen cpu-intensiven aktionen auch. die frage ist halt nur wie stark wird deine cpu trotz thread gebraucht, denn richtiges multithreading können halt mal nur mehrprozessoren-pcs bzw. eben multicore-pcs.
Danke ersteinmal,
Es müsste dennoch eine möglichkeit geben das ListView mit Daten zu füllen, ohne dass sich die Applikation aufhängt o.ä.
Mir ist nur wichtig das sich nicht aufhängt oder gar einfriert 🙁
Grüße
Kostenlose Backlinks und Linktausch auf linkSpring
Hallo Andy.C,
Lordas hat doch die Lösung schon gesagt: verwende einen extra Thread.
herbivore
Hallo,
ich habe schon einen neuen thread gestartet, jedoch bleibt das ganze unverändert.
Bei einer Liste mit 1000 einträgen, hängt sich das teil.
hmmm...
Grüße
Kostenlose Backlinks und Linktausch auf linkSpring
Hallo Andy.C,
aus dem Thread darfst du ja nicht direkt auf das GUI zugreifen, sondern musst Control.Invoke/BeginInvoke benutzen. Nur läuft die damit aufgerufene Methode dann wieder im GUI-Thread. Wenn die Schleife in der Methode ist, ist die Situation in der Tat unverändert. Die Schleife muss in den Thread, nur die einzelnen Zugriffe muss man mit Control.Invoke/BeginInvoke durchführen. Dann geht es.
herbivore
Hallo Andy.C,
ich kann dir auch, sofern du .NET2.0 nutzt, den Backgroundworker zb. für das Füllen von Listen empfehlen. Ist sehr konfortabel.
Hi,
ich nutze Framework 2.0, vom Backgroundworker habe ich so noch nie etwas gehört 🤔.
Ich such mal nach Backgroundworker, vlt lässt sich ja was finden 🙂
herbivore ich nutze begininvoke / delegate.
Grüße
Kostenlose Backlinks und Linktausch auf linkSpring
Hallo Andy.C,
herbivore ich nutze begininvoke / delegate.
dann sollte dir helfen, was ich geschrieben habe.
herbivore