C#: Hogyan lehet billentyűvel "működtedni" valamit?
Gondolom PictureBoxról van szó.
KeyDown esemény
{
ha key = left:
picturebox.x -= mennyiség
}
Így tovább...
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.
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!
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;
}
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?
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
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.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!