GUI stockt immer wenn sich Controls mittels Timer sich aktualisieren...

29/04/2009 - 14:39 von Volkan Senguel | Report spam
Hallo zusammen, auf meinem GUI welches diverse Controls hat, werden diese
teilweise per Timer im Sekunden / Minuten /Stunden Takt aktualisiert.

Ein Control davon ist eine Laufschrift die im unterem Teil des Hauptfensters
làuft...und dieser stockt alle Sekunden wenn auf der GUI sich etwas
geàndert, also gemalt wird!

Gibt es eine Möglichkeit dass sich das GUI (ich weiss Singelthreated GUI
blah blah) trotzdem flüssig aktualisiert?

Dass ganze ist ein Dashboard welches verschieden Sachen hatl darstellt und
nicht ruckeln soll.


P.S.
Die Controls sind bereits alle mit Backgroundworker/Threads erstellt so dass
sich da nicht beissen kann - es sind wirklich die Timer :(


Danke für einen Anhaltspunkt wo ich ansetzen muss.
Volkan
 

Lesen sie die antworten

#1 Frank Dzaebel
29/04/2009 - 15:44 | Warnen spam
Hallo Volkan,

Hallo zusammen, auf meinem GUI welches diverse Controls hat, werden diese
teilweise per Timer im Sekunden / Minuten /Stunden Takt aktualisiert.



Nun, da kommt es ein wenig darauf an:
- was für ein Timer.
- was exakt im Detail aktualisiert werden soll.

Der normale Windows Forms Timer bleibt
im UI-Thread in seinem Tick-Handler.
Es müssen sich aber *alle* Control-
Bearbeitungsvorgànge diesen einen
UI-Thread teilen. Wenn Du kannst, versetze
die Teile, die nicht unmittelbar Control-
Eigenschaften modifizieren, in Threads.
Beachte, dass es andere Timer gibt,
die ihr Working nicht im UI-Thread ausführen,

[Timer]
http://dzaebel.net/Timer.htm

allerdings sind die im Windows Forms
Kontext sehr mit Vorsicht zu implementieren.
Für eine Änderung an Steuerelement-
Eigenschaften müsstest Du auch sowieso in
den UI-Thread zurückmarshallen:

[Bearbeiten von Steuerelementen aus Threads]
http://www.dzaebel.net/ControlInvoke.htm

[Gewusst wie: Bearbeiten von Steuerelementen aus Threads]
http://msdn.microsoft.com/de-de/lib...y83z4.aspx
____________

Die wichtigsten Aspekte für WinForms-Anwendungen,
wodurch Du ggf. noch Verbesserungen erzielen kannst,
findest Du u.a. hier:

[Windows-Forms-Anwendungen]
http://www.microsoft.com/germany/ms...ungen.mspx


ciao Frank
Dipl. Inf. Frank Dzaebel [MCP, MVP C#]
http://Dzaebel.NET

Ähnliche fragen