Entwickler-Ecke

WinForms - ListView update mit Timer


derDachs - Mo 07.04.08 17:03
Titel: ListView update mit Timer
Hi,

setze mich gerade damit auseinander eine Anwendung zu schreiben, die unter Windows laufende Prozesse, Treiber
und Services und und und anzeigt...

Was mir nun gerade etwas schwer fällt ist das updaten einer ListView..

Was ich tun möchte ist die ListView jede sekunde oder ähnlich zu updaten um anzuzeigen ob sich beispielsweise bei einem Prozess die Speichernutzung ändert (was ja die ganze Zeit passiert)

Was ich nun falsch mache ist wohl, daß ich die ListView lösche und wieder neu befülle(mit einem TimerObjekt), was nämlich zur Folge hat, daß mein
Scrollbalken jedesmal in Ausgangsposition verschoben wird..
Was kann ich anders machen oder sollte ich tun um dies richtig zu machen?

Danke im vorraus

mfG derDachs


derDachs - Di 08.04.08 13:34
Titel: hmm keine Antwort
Ich vermute eigendlich, daß die Antort auf meine Frage nicht wirklich schwer sein kann.
Hat niemand Zeeit diese Frage zu beantworten?


Christian S. - Di 08.04.08 14:12

Ich glaube, Du musst ein bisschen mehr beschreiben. Du sagst kein Wort dazu, wie Du die ListView befüllst, woher die Informationen kommen, wie "bemerkst", dass sich etwas geändert hat, etc.


derDachs - Di 08.04.08 16:55
Titel: Hmm schon recht...
Hi,

Also zur Zeit der Fragestellung, habe ich´s reichlich primitiv versucht.
Ich habe die Listen mit der Addmethode gefüllt und zwar mit den Daten von ServiceController bla bla bla
Ich habe einen Timer gestellt, der jede Sekunde die Listen updatet.
Mein updaten war nun das sehr primitive, ich löschte die Listen und befüllte sie neu.

Was jetzt erstmal funktioniert ist zu schauen ob ein Process noch da ist und ihn dann zu removen aus der Liste.
Wenn ein Item mit der PID des processes als name noch existiert, werden seine Daten neugeschrieben, wenn nicht dann wird ein neues Item mit Namen=PID hinzugefügt.
Das funtioniert so schon erstmal, aber was mich intressieren würde, wär ob´s auch irgendwie einfacher geht, oder ob dies so der natürlich Werdegang ist. Vor allen Dingen die Sache mit dem Timer, ich überlege obs da nicht Deadlocks geben könnte, falls mein befüllen mal zulang dauert.

mfG derDachs