Kezdőoldal » Számítástechnika » Programozás » Timer Tick event azonalli...

Timer Tick event azonalli "elsütése", létezik ilyen?

Figyelt kérdés

Sziasztok!

Egy ideje küzdök a timer-el, próbálgattam már elég sok megoldást, de csak nem akar összejönni...

Behajítanék ide egy kis gagyi példát amin keresztül elmondom a bajom :) (Form1 ctrl+c,ctrl+v)

Létrehozok egy Labelt, amin szeretném kiírni az "a" változásait. Nos amikor feláll a prog és látom a formot, akkor elindítanám ezt a Vezer() metódust. A lényege az lenne, hogy amikor feliratkozok a myTimer.Tick eseményre az közvetlenül fusson le és ne csak a hívási sor végén. Persze az "if (a == 500)" elhagyásával semmi nem történik, azonnal bezárul az ablak. Ebben kérném a segítségeteket.

UI.: System.Sleep-et ha nem muszáj nem használnék és a Tick else ágában se szívesen hívnám újra a Vezer() metódust. A cél télleg az lenne, hogy a Tick esemény közvetlenül süljön el. (amire sajna nem jó a " myTimer.Start();")


public Form1()

{

InitializeComponent();

label1.Parent = this;

}

static System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();

Label label1 = new Label();

int a = 0;

private void Vezer()

{

myTimer.Interval = 5;

myTimer.Enabled = true;

myTimer.Tick += new EventHandler(myTimer_Elapsed);


myTimer.Start();

if (a == 500)

{

myTimer.Enabled = false;

this.Close();

}


}

private void myTimer_Elapsed(object sender, EventArgs e)

{

if (a < 500)

{

a++;

label1.Text = "";

label1.Text += a;

}

else { myTimer.Stop();}

}

private void Form1_Activated(object sender, EventArgs e)

{

Vezer();

}



#Visual C# #Tick #Tick azonnali elsütése #System.Timers.Timer
2013. okt. 16. 11:33
 1/3 anonim ***** válasza:

Nem értem a problémád. Mért nem hívod meg az eseméynkezelőt te?

A myTyimer.Start() sor után:

myTimer_Elapsed(this, EventArgs.Empty);

2013. okt. 16. 13:12
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:
Igazad van tényleg működik egy iterációban, csak a Tick-ben az a szép, hogy nem kell iterálni a feltétel miatt, de ott a pont.
2013. okt. 16. 16:12
 3/3 A kérdező kommentje:
Meg is néztem és itt a következő probléma, elvesztem azt a lehetőséget, hogy Intervalt tudok be állítani, mert így nem az ott megadott időközönként Tick-el újra az egész :/
2013. okt. 16. 20:56

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!