Kezdőoldal » Számítástechnika » Programozás » C#-os segítséget kérhetek...

C#-os segítséget kérhetek (timer)?

Figyelt kérdés
Van 2 timer (timer1,timer2). Azt szeretném, hogy ha megnyomok egy gombot(button1) akkor lefut a timer1, és miután lefutott a timer1 csak aztán indul el a timer2.:)
2010. nov. 4. 11:22
 1/5 anonim ***** válasza:
"lefut"? Mit értesz lefut alatt? A timerek objektumok, nem függvények, nem tudnak lefutni...
2010. nov. 4. 11:56
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:

A timer egy olyan objektum, ami a beállított időközönként eseményt "süt el", vagyis ha fel vagy iratkozva az egyetlen Tick eseményére, akkor azt a metódust fogja hivogatni. Kettőt kattintasz a timer komponensre design nézetben és:

private void timer1_Tick(object sender, EventArgs e)

{


}


Alapesetben a timer inaktív állapotban van. Ahhoz, hogy elinduljon a tick-elés aktivizálni kell:

private void button1_Click(object sender, EventArgs e)

{

timer1.Start();

}


Elindult az első timer, ilyenkor azonnal lefut az időzítés ezért egy számlálóval tudnád megnézni, hogy ez hányadik Tick és aztán ott indíthatod a timer2-őt ugyanúgy, ahogy az elsőt.


De ez így szerintem bugyuta megoldás, minek ehhez timer? Ha várakozni szeretnél, akkor csak simán ennyi:

Thread.Sleep(1000);

2010. nov. 4. 16:51
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:
Az előzőhöz hozzászólva: A timer1 Tick eseménykezelőjében állítsd le (Stop) a timer1-et, ekkor nem hívódik meg többször. A Thread.Sleep()-et én mégbugyutább megoldásnak mondanám. Click eseménykezelőbe nem illik sleep-et rakni, mert "lefagy" a program.
2010. nov. 4. 18:12
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:
Lefagy az eszed tokja. Ameddig nem tudod mi a cél csak vaktában puffogtatsz te is. Most mondhatnám, hogy thread, vagy task, vagy parallel, vagy async, van lehetőség bőven a .NET-ben.
2010. nov. 4. 18:35
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:
Előzőnek: Szó nem volt új szál futtatásáról, azt mondtad neki, hogy az eseménykezelőbe írjon Thread.Sleep-et. Szerinted a leírásod (és a kérdés) alapján indított volna új szálat? async-ot pedig még el lehet felejteni. majd ha megjelenik a vNext a VS-ből. Ne fárasszuk már a kérdezőt CTP állapotban lévő technológiákkal, mégha Te voltál is PDC konferencián.
2010. nov. 4. 19:51
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!