C#: Hogyan lehet billentyűvel "működtedni" valamit?
Fogadjunk for-os megoldással csináltad?
ha igen, akkor az a baja, hogy a forciklus nem szereti a ReadKey-t ReadLine-vel csináld és sikerülni fog. Én még mindig a timer-es megoldást javaslom, hisz az a legjobb. (ha azzal csináltad, akkor is tedd át ReadLine-re.
(UI.: Ha lehet itt adni valami karmát vagy valamit, azt kérlek +-old. Köszi, remélem segítettem!)
private void timer1_Tick(object sender, EventArgs e)
{
ConsoleKeyInfo keyInfo = Console.ReadKey();
if (keyInfo.Key == ConsoleKey.DownArrow)
{
pictureBox1.Visible = false;
}
}
Így van megcsinálva, és erre adja a hibát amit leírtam.
Cannot read keys when either application does not have a console or when console input has been redirected from a file. Try Console.Read.
Van Skype-od? Csak addig kéne amíg segítenél ezt megoldani, aztán törölhetnél! Csak egy kis ideig. Ha oké, vegyél fel: ryuuzaki723
Ha nem, akkor tipp hogy mi a hibája?
Mi a tökért akarsz egy WinForms alkalmazásban Console objektumot használtatni a szerencsétlen kérdezővel??
A form objektumba kell beírnod a következő függvényt:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
switch (keyData)
{
// balra nyil
case Keys.Left:
// a gomb
case Keys.A:
// Shift + a gomb
case Keys.Shift | Keys.A:
// Mozgatás balra
return true; // lekezelted-e az "eseményt"
// a többi iránnyal ugyanígy
default:
return base.ProcessCmdKey(ref msg, keyData);
}
}
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!