Volgend programma demonstreert hoe je kan detecteren of en welke van de pijltjestoetsen ingedrukt en weer losgelaten worden.
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_KeyDown(object sender, KeyEventArgs e) { HandleKeyEvent(e, "down"); } private void Form1_KeyUp(object sender, KeyEventArgs e) { HandleKeyEvent(e, "released"); } private void HandleKeyEvent(KeyEventArgs e, string state) { if (e.KeyCode == Keys.Up) infoLabel.Text = "Arrow up is " + state; if (e.KeyCode == Keys.Down) infoLabel.Text = "Arrow down is " + state; if (e.KeyCode == Keys.Left) infoLabel.Text = "Arrow left is " + state; if (e.KeyCode == Keys.Right) infoLabel.Text = "Arrow right is " + state; } }
De events die ons hier interesseren zijn KeyDown
(toets ingedrukt) en KeyUp
(toets weer losgelaten). Door de property KeyCode
te vergelijken met één van de voorgedefinieerde constanten in de klasse Keys
, kan je exact bepalen om welke toets het gaat.
Dit geeft als uitvoer bijvoorbeeld:
Bemerk ook het gebruik van een methode HandleKeyEvent
om zoveel mogelijk dubbele code te vermijden.
Geen opmerkingen:
Een reactie posten