Hallo und

,
das liegt an der generellen Windows-Messageverarbeitung (dort wird anderen Tasten eine höhere Priorität als den Pfeiltasten zugeordnet). Dies kannst du mit jedem beliebigen Programm testen (z.B. Notepad, Word etc.).
Eine Alternative wäre die Verwendung der WinAPI-Funktion GetAsyncKeyState.
Diese Funktion habe ich z.B. bei meinem kleinen Spiel
FastDriver schlussendlich auch eingesetzt:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| using System; using System.Runtime.InteropServices; using System.Windows.Forms;
namespace Utilities { static class WinAPI { [DllImport("user32.dll")] static extern short GetAsyncKeyState(Keys vKey);
static public bool IsKeyDown(Keys key) { return (GetAsyncKeyState(key) & 0x8000) != 0; } } } |
Die Methode IsKeyDown müßtest du dann allerdings in einem Timer aufrufen.