Como invocar um método de interface do usuário de outro segmento
Brincando com os Timers. Contexto: um winforms com dois rótulos.
Eu gostaria de ver comoSystem.Timers.Timer
funciona então eu não usei o timer de formulários. Eu entendo que o formulário e myTimer agora serão executados em diferentes segmentos. Existe uma maneira fácil de representar o tempo decorrido emlblValue
na seguinte forma?
Eu olhei aquiMSDN mas existe um caminho mais fácil!
Aqui está o código do winforms:
<code>using System.Timers; namespace Ariport_Parking { public partial class AirportParking : Form { //instance variables of the form System.Timers.Timer myTimer; int ElapsedCounter = 0; int MaxTime = 5000; int elapsedTime = 0; static int tickLength = 100; public AirportParking() { InitializeComponent(); keepingTime(); lblValue.Text = "hello"; } //method for keeping time public void keepingTime() { myTimer = new System.Timers.Timer(tickLength); myTimer.Elapsed += new ElapsedEventHandler(myTimer_Elapsed); myTimer.AutoReset = true; myTimer.Enabled = true; myTimer.Start(); } void myTimer_Elapsed(Object myObject,EventArgs myEventArgs){ myTimer.Stop(); ElapsedCounter += 1; elapsedTime += tickLength; if (elapsedTime < MaxTime) { this.lblElapsedTime.Text = elapsedTime.ToString(); if (ElapsedCounter % 2 == 0) this.lblValue.Text = "hello world"; else this.lblValue.Text = "hello"; myTimer.Start(); } else { myTimer.Start(); } } } } </code>