Kezdőoldal » Számítástechnika » Programozás » C#: Hogyan lehet billentyűvel...

C#: Hogyan lehet billentyűvel "működtedni" valamit?

Figyelt kérdés
Úgy értettem, hogy mondjuk van egy kép, elhelyezkedése, 220, 140. Ha megnyomom a bal nyilat, vagy akár a D-t, akkor már 230, 140-en fog elhelyezkedni.
2012. júl. 3. 17:57
1 2
 1/17 anonim ***** válasza:

Gondolom PictureBoxról van szó.


KeyDown esemény

{

ha key = left:

picturebox.x -= mennyiség

}


Így tovább...

2012. júl. 3. 19:00
Hasznos számodra ez a válasz?
 2/17 A kérdező kommentje:
Igen, picturebox. De sajnos nem eléggé értem, hogy hogy érted. Nemrég kezdtem el ezzel foglalkozni. Megkérném, hogy légyszi írd le úgy ahogy kell csinálnom pontosan.
2012. júl. 3. 19:20
 3/17 anonim ***** válasza:
48%

Szia!

Először is : ConsoleKeyInfo keyInfo = Console.ReadKey();

a keyInfo-nak megadod az éppenséggel leütött bill. "értékét".

Másodszor :

if (keyInfo.Key == ConsoleKey.DownArrow)

{

kód;

}

megadsz egy feltételt, hogy ha a lenyíl (DownArrow) az a billentyű, amit a felhasználó megadott, akkor csinálja, amit szeretnél.

Ezt az egészet egy timer-be, ha formban csinálod, vagy végtelenciklusba, ha consollal.

Remélem segítettem.

2012. júl. 3. 20:02
Hasznos számodra ez a válasz?
 4/17 A kérdező kommentje:

Najó, komolyan nem értem... Vagy csak MOST nem tudom megérteni. Nem kell semmi magyarázat, akkor csak valaki írja le hogy hogyan csináljam azt, hogy megnyomom a D betűt VAGY a jobbra nyilat, akkor csinálja ezt: pictureBox1.Visible = false;

Ennyi! Sajnálom hogy nem értem!

2012. júl. 3. 20:22
 5/17 anonim ***** válasza:

Nem vagyok túl jártas benne, de az előző kommentek alapján én így próbálkoznék:


ConsoleKeyInfo keyInfo = Console.ReadKey();


if (keyInfo.Key == ConsoleKey.RightArrow)

{

pictureBox1.Visible = false;

}

2012. júl. 3. 23:19
Hasznos számodra ez a válasz?
 6/17 A kérdező kommentje:
Pedig pontosan ezt csináltam én is.
2012. júl. 4. 10:28
 7/17 A kérdező kommentje:

Próbáltam úgy is hogy

if(Keys.D)

{

pictureBox1.Visible = false;

}

De erre meg hibát ír, mivel a Keys.D az nem bool.

Akkor a Keys-et hogy kell haszálni?

2012. júl. 4. 11:02
 8/17 anonim ***** válasza:
32%

for(;;)

{

ConsoleKeyInfo keyInfo = Console.ReadKey();

if (keyInfo.Key == ConsoleKey.DownArrow)

{

pictureBox1.Visibled = false;

break;

}

}

ez a következőt csinálja : alindít egy végtelenciklust , ami folyamatosan figyeli, ütsz-e le valamit. Ha leütötted a lefelenyilat, akkor a picturebox eltűnik. Ez csak egyszer használatos.


A többször használatos :


létrehozol egy timert. A főmetódusodban elindítod : timer1.Start();

a propertiesnél megadod az infernálját 200-ra.

ráklikkelsz kétszer a timerre a desingerbe.

a programzészben a timer metódusába beleírod ezt :

ConsoleKeyInfo keyInfo = Console.ReadKey();

if (keyInfo.Key == ConsoleKey.DownArrow)

{

pictureBox1.Visibled = false;

}


és ennyi lenne. Ajánlom a második megoldást, de ha neked elég az egyszer hazsnálatos, akkor az elsőt. (azzal annyi a probléma, hogyha amíg nem ütöd le a nyilat, addig SEMMI MÁST nem tudsz csinálni.


remélem segítettem: AkroMentos

2012. júl. 5. 09:01
Hasznos számodra ez a válasz?
 9/17 anonim ***** válasza:
32%
Ja és még valami. Ha még így nem érthető, sajnálom akkor nem neked való ez a programozás. Teljesen érthetően leírtam, úgy hogy még egy 10éves is meg tudná csinálni. hajrá.
2012. júl. 5. 09:09
Hasznos számodra ez a válasz?
 10/17 A kérdező kommentje:

Most már tökéletesen értem, de valamiért baja van vele.


ConsoleKeyInfo keyInfo = Console.ReadKey();


Ezzel a sorral:


Cannot read keys when either application does not have a console or when console input has been redirected from a file. Try Console.Read.


ez a baja van.


Mikor először írtál, majdnem ugyanígy próbáltam de akkoris erre írt hibát.

2012. júl. 5. 11:53
1 2

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!