Tweet
Après une assez longue pause dû à la fin d’année de la Licence et du stage, je recommence à avoir du temps pour m’occuper du blog. Désolé encore de l’absence.
Et je vais reprendre assez bien qui plus est. Comme je vois de plus en plus de personnes se penchant sur des fonctionnalités qui requiert la détection de la frappe d’une touche sur un clavier pour affecter un bind par exemple, je vous propose la manière de le faire en C# (je peux le montrer en Java si vous le demandez mais c’est plus simple). De plus il y a peu de tutoriel sur ce sujet, donc je pense qu’il ne sera pas trop redondant avec ce qu’il se fait déjà.
Donc pour détecter la touche qui est frappé sur le clavier et le mettre dans un textbox, voici le code à utiliser (ce code inclut les touches spéciales comme Ctrl, Alt, Enter, etc…) :
//Supposer que c’est le constructeur de la Windows Form public MainFrame() { InitializeComponent(); //Pour faire en sorte que la touche soit affiché après tous les traitements (test ou autre) this.KeyPreview = true; clavier.MaxLength = 1; //On rajoute le handler pour tester les touches clavier.KeyDown += new KeyEventHandler(clavier_KeyDown); } private void clavier_KeyDown(object sender, KeyEventArgs e) { clavier.Clear(); //Test des touches "spéciales" et affectation de son nom dans la textbox switch (e.KeyCode) { case Keys.F1: clavier.Text = "F1"; break; case Keys.F2: clavier.Text = "F2"; break; case Keys.F3: clavier.Text = "F3"; break; case Keys.F4: clavier.Text = "F4"; break; case Keys.F5: clavier.Text = "F5"; break; case Keys.F6: clavier.Text = "F6"; break; case Keys.F7: clavier.Text = "F7"; break; case Keys.F8: clavier.Text = "F8"; break; case Keys.F9: clavier.Text = "F9"; break; case Keys.F10: clavier.Text = "F10"; break; case Keys.F11: . . . → En lire plus: Récupérer la touche du clavier appuyée en C# 3.5

Commentaires récents