in meinem Projekt muss ich diesen vorgefertigten Code geändert, um das Layout des Spiels zu ändern. Daher möchte ich wichtige Ereignisse in meinem Formular für meine Navigation zu "WASD" hinzufügen, anstatt eine Schaltfläche zu verwenden, um die Schlange zu bewegen. Aber das Problem hier ist, dass, sobald ich die Funktion zum Formular hinzufügte und es prüfte, um auf der Konsole heraus anzuzeigen, gibt es nichts, keinen Ereignisfehler. Ich bin kein Experte darin, also hoffe ich, dass jemand so freundlich ist, mich auf den richtigen Weg zu führen, danke.Key Event Problem in Winform C#
Dies ist der Code und Screenshot meines Projekts.
public Form1()
{
InitializeComponent();
backgroundMusic.PlayLooping();
this.AutoSize = true;
boardPanel.AutoSize = true;
//Set up the main board
mainBoard = new Board(this);
//Set up the game timer at the given speed
clock = new Timer();
clock.Interval = speed; //Set the clock to tick every 500ms
clock.Tick += new EventHandler(refresh); //Call the refresh method at every tick to redraw the board and snake.
duration = 0;
score = 0;
level = 1;
modeLBL.Text = mode;
gotoNextLevel(level);
}
private void keyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.W)
{
Console.WriteLine("W is pressed");
}
}
}
Sie haben nicht wirklich die Handler registriert ' this.KeyDown = new KeyEventHandler (keyDown); ' –