Entwickler-Ecke
WinForms - Zahl ausgeben
DummyScript - Di 27.07.10 16:44
Titel: Zahl ausgeben
Hi!
Ich möchte mit einem Label eine Zahl ausgeben indem ich die Text Eigenschaft verändere. Dies muss dann natürlich permanent geschehen. Mein Fenster wurde mit dem Windows Form-Designer von Visual Studio erstellt. Meine Frage ist nun, ob es ein Event gibt, das permanent aufgerufen wird (das ich zum aktualisieren des Labels verwenden kann)? Oder bekomme ich irgendwie Zugriff auf die Hauptroutine des Fensters?
Danke für eure Hilfe!
DummyScript - Di 27.07.10 17:03
Ja oder ich mache einen eigenen Thread. Aber auch der Event-Handler des Fensters muss periodisch aufgerufen werden und wenn ich gleich dort die Aktualisierung vornehme spare ich mir das alles. Nur irgendwie finde ich den Teil in dem vom Windows Forms-Designer generierten Code nicht...
Vl. hat damit ja jemand Erfahrung.
DummyScript - Di 27.07.10 17:27
Ok ich glaube ich habs gefunden. Das Event heißt Paint.
Delete - Di 27.07.10 17:44
wann genau soll denn diese zahl im label verändert werden?
das paint-event halte ich für unsicher, da das event nur gerufen wird, wenn sich das fenster tatsächhlich neu zeichnen muss, was ja nicht immer der fall sein muss.
würde mich hier nicht auf paint verlassen.
DummyScript - Mi 28.07.10 12:29
Wird das Fenster nicht jeden Frame/Zyklus neu gezeichnet?
Die Zahl sollte immer aktuell dargestellt werden.
Ralf Jansen - Mi 28.07.10 12:36
C#-Quelltext
1:
| Wird das Fenster nicht jeden Frame/Zyklus neu gezeichnet? |
Nein nur wenn das Fenster mitbekommt(oder man es im sagt) das sich was geändert hat. Wenn sich nichts ändert wird also auch nicht neu gezeichnet. Warum auch.
DummyScript - Mi 28.07.10 21:05
Ok. Gibt es ein Event das jeden Frame aufgerufen wird? Wie wird so etwas normal realisiert?
Kha - Mi 28.07.10 21:51
Du hast immer noch nicht erzählt, wie oft die Quelle dieses Labels überhaupt aktualisiert wird. Aber jede sinnvolle Anzeigefrequenz eines Labels (also sicherlich nicht 60Hz) kannst du ohne große Auslastung mit einem Timer erreichen.
jaenicke - Do 29.07.10 01:00
DummyScript hat folgendes geschrieben : |
| Ok. Gibt es ein Event das jeden Frame aufgerufen wird? |
Was für ein Frame denn? Hast du da Filme oder eine Animation oder so in deinem Fenster? :gruebel:
Delete - Do 29.07.10 10:36
da wir hier alle immernoch keine ahnung haben, wann und wieso du die zahl neu zeichnen willst, muss ich spekulieren:
wenn du eine funktion hast, die z.b. etwas größeres und aufwendigeres macht, dann rufe die in einem eigenen thread auf und lass diese ein event schmeißen. dieses kannst du ja abonieren und demensprechend deine zahl aktualisieren.
oder bei einem festen zyklus und kleinen funktionen einfach einen timer nehmen.
ohne mehr infos kann man eben nur ungefähr erraten, was du machen willst.
12profi - Do 29.07.10 11:51
wie wäre es mit Label1.Text="1"; oder wenn du einen int hast:
int a=1
Label1.Text=a.ToString();
oder du machst einen Timer der z.b. das kannst du einstellen jede Sekunde eine andere Zahl ausgibt
ich hoffe es hat dir geholfen
mfg 12profi
DummyScript - Fr 30.07.10 12:54
Jap werde es wohl mit nem Timer realisieren.
Danke für eure Hilfe!
12profi - Mo 02.08.10 21:52
jo wie man jetzt auf Englisch sagen würde :You are welcome
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!