Uhrzeit/Datum anzeigen


JJB

Cogito ergo brumm
Tach Tach !

Ich möchte in einem Fullscreen Programm eine Uhr einbauen. Diese soll natürlich immer aktuell sein. Etwa ein Format wie "Mo, 01.01.2005 10:10:10"
Doch wenn ich in einer Endlosschleife einen Thread laufen lasse, der ständig die Uhrzeit einliesst, sie umwandelt und ausgibt, dann kann das möglicherweise ein wenig zu viel Leistung kosten. Zumal ich kein Freund von tausenden parallelen Threads bin.

Ich lebe in der Hoffnung, dass ich in C# ein Feld einbauen kann, welches diese Funktion bereits bietet. Einfach die aktuelle Zeit anzeigen, so dass ich nicht ständig fragen muß, "Hat sich die Sekundenzeit geändert ?".

Hat da jemand eine Idee oder rede ich Unfug ?

Grüße JJB
 

JJB

Cogito ergo brumm
Ist das nicht auch ein Thread ?

Du meinst ich sollte einen Timer schreiben, der einmal pro Sekunde die Zeit ausließt.... hm... auf jeden Fall besser als, jede Millisekunde.

Wieviel Leistung fordern denn solche Timer ? Die Threads haben mich manchmal ziemlich ausgebremst.

Grüße JJB
 

Alexander Schuc

crazy-weasel
Den normalen WindowsForms.Timer kannst da ohne Probleme benutzen. Performance wird er nicht viel brauchen, vorallem weil das Intervall nicht sonderlich klein sein wird.
Ausserdem musst du dich nicht mit Invoke herumschlagen wenn du auf Controls zugreift. Die Methode beim Tick Event wird nämlich im selben Thread wie die UI ausgeführt.

Also nein, der Windows Forms Timer hat keinen eigenen Thread.
 

JJB

Cogito ergo brumm
Ich hoffte schon, solche Geschichten gehören irgendwann der Vergangenheit an.
Altlasten vergangener Strukturen....
Naja, wir finden sicherlich noch 8 oder 4 Bit Anweisungen in Windows 2010. Was soll's.

Ich benutze dann besser die WindowsForms.Timer

Und danke für den Tip !

Grüße JJB
 

iMarcG5

Mitglied
Hi JJB:
versuch es mal damit!!
;-)

Gruß Marc


PS: wie hast du denn das Programm auf Fullscreen bekommen?.. mit TopMost = true und dann eben Auflösung gleich der Bildschirmauflösung oder wie...
bin gerade leider an keinem Rechner mit VS.NET sonst würd ich es probieren. falls du es anders gemacht hast, gib doch bitte kurz bescheit!
Thnx!
 

Anhänge

Zuletzt bearbeitet:

JJB

Cogito ergo brumm
Also maximieren kann man das Fenster doch mit Windowstate = maximized oder ? Hab ich das falsch im Kopf ? Hab gerade meine MSDN nicht zur Hand, aber ich denke sie lautet das Attribut.