Kezdőoldal » Számítástechnika » Programozás » Visual Studio C# Windows form...

Visual Studio C# Windows form app, hogyan lehetne ezt megoldani?

Figyelt kérdés

Van egy gombom ami ezt a célt szolgálná: Kattintás után kikapcsoljon a gomb, számláló menjen le (3 másodperc mondjuk), adjon hozzá C-hez 1-et, majd aktiválja újra a gombot és ennyi, anélkül, hogy kezelhetetlenné tegye az egész formot.

A probléma:

Én a threading.sleep-pel oldottam ezt meg, viszont így az utolsó sor problémája áll fenn, hogy addig semmi más sem kattintható.


Erre megoldás volna a Timer? Ha igen, azt hogyan tudnám használni? Mármint a button1.enabled = true ,, [..] = false a timer onTick-ben kell legyen, vagy a button onClick eventjében? + hogyha 3 másodpercre (3000 ms) állítom az időzítőjét, akkor annyi idő után fut le, vagy annyi idő után ismétli ami benne van? (tehát olyan mind a do{..}while, hogy először lefut ami benne van aztán ellenőrzi a feltételt, vagy fordítva?)


Jelenleg vonaton vagyok szóval nem tudok géphez pattanni egyhamar, így gondoltam felteszem a kérdést, hogy otthon ne kelljen ezzel is időt pazarolni, hátha van valakinek tapasztalata vele.


2019. ápr. 5. 10:45
 1/3 anonim ***** válasza:
await Task.Delay(timeoutInMilliseconds);
2019. ápr. 5. 10:47
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:
Hm, köszi a tippet! Azt írja hozzá, hogy csak valami "async method"-ban lehet használni, egy szimpla button_click-el nem. Megcsinálom azzal, köszi szépen :)
2019. ápr. 5. 13:37
 3/3 A kérdező kommentje:
Működik, ment a+. Köszi ^_^
2019. ápr. 5. 13:42

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!