Laden...

[gelöst] Zeit kontinuierlich anzeigen - GUI hängt sich auf

Erstellt von annettwurfel vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.563 Views
A
annettwurfel Themenstarter:in
45 Beiträge seit 2009
vor 15 Jahren
[gelöst] Zeit kontinuierlich anzeigen - GUI hängt sich auf

Hallo liebe Leute^^

Ich brauche mal wieder eure Hilfe 😁 . Ich Arbeite gerade an einem Organizer Programm. Ich habe eine 7-Segmentanzeige programmiert um mir die Zeit anzeigen zu können und ich farge die aktuelle Systemzeit ab. Jetzt zum Problem jedes Mal wenn ich auf das Fenster Klicke hängt sich das komplette Programm auf. Daher meine Frage: woran liegt es dass das passiert und wie kann ich das umgehen. Dann gibts aber noch ein kleines Problem. Und zwar: Nullen werden nicht von der Anzeige dargestellt.

Danke schonmal im Vorraus

liebe grüße Annett

B
293 Beiträge seit 2008
vor 15 Jahren

Das mit dem Hänger lässt sich leicht lösen. Füge mal einen Timer hinzu mit einem Intervall von (logischerweise) 1 Sekunde.

Dann baust du in das onclick Event von button2

timer1.start();

ein.

In das Tick-Event vom Timer haust du alles, was du vorher im click-event des button2 hattest.
Durch die for-Schleife die du vorher verwendet hast ist es logisch das das GUI nicht mehr ansprechbar ist, weil der Thread für das GUI voll ausgelastet ist, da die Schleife dein Form voll auslastet. Durch den Timer trennst du das GUI einigermaßen vernünftig von deiner Zeichenerei... 😉

Wenn ich nicht hier bin, findest du mich auf code-bude.net.

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo annettwurfel,

wenn ich auf das Fenster Klicke hängt sich das komplette Programm auf.

Siehe [FAQ] Warum blockiert mein GUI?.

Ich habe mal das komplette Projet angehangen dass man sich mal n bild machen kann.

Tue das beim nächsten mal bitte nicht, sondern poste nur die relevanten Codeausschnitte. Siehe [Hinweis] Wie poste ich richtig? Punkt 4.

herbivore

A
annettwurfel Themenstarter:in
45 Beiträge seit 2009
vor 15 Jahren

An blutiger_anfänger: erstmal vielen Dank für die schnellen Antworten, du hast mir sehr geholfen.

An herbivore: Danke auch dir für die Hinweise ich gelobe Besserung^^ X(

B
293 Beiträge seit 2008
vor 15 Jahren

Hast du das Problem mit den Nullen hinbekommen?
Wenn nicht schau ich da nochmal drüber, weil ich das heute morgen nicht mehr geschafft hab. Bloß wär' ja blöde, wenn ich mir da jetzt die Arbeit mache und du hast die Lösung längst...

Wenn ich nicht hier bin, findest du mich auf code-bude.net.

A
annettwurfel Themenstarter:in
45 Beiträge seit 2009
vor 15 Jahren

Das Problem mit den Nullen besteht weiterhin. Währe echt nett von dir wenn dus dir noch mal angucken könntetst. Übrigens das mit dem Timer hat wunderbar geklappt.

B
293 Beiträge seit 2008
vor 15 Jahren

Entschuldige, dass es doch etwas länger gedauert hat, aber ich habe die letzten Tage keine Zeit gefunden...

Deine Uhr läuft jetzt soweit. Ich habe dir das Projekt mal mit angehängt, damit du dir alles nochmal anschauen kannst.

Im wesentlichen habe ich nicht mehr viel dran geändert. Ich habe lediglich die

Thread.Sleep(10);

entfernt, da sie durch das einsetzen, des Timers unnötig sind und ganz wichtig, der entscheidene Punkt - ich habe beim eintreten des Timer-Tick-Events, den Timer angehalten, und ihn erst ganz am Ende wieder gestartet.
Das hat folgenden Grund, da das Tick-Event sonst greift, bevor alle Zeichen gezeichnet sind und es so sein kann, dass nicht immer alle Zeichen richtig angezeigt werden...

Ansonsten wüsste ich grad nicht, was ich noch groß geändert habe...
Projekt liegt im Anhang - viel Spaß damit!

liebe Grüße,
ein blutiger_anfänger 😉

Wenn ich nicht hier bin, findest du mich auf code-bude.net.