Salut
Utilise la propriété KeyPreview de ta form et mets-là à true. Ça enverra d'abord les événements de clavier à ta form avant de les envoyer à ta textbox (KeyUp / KeyDown / KeyPressed)
Avec KeyUp et KeyDown, tu pourras voir très simplement sur quelle touche tu as appuyé grâce à e.KeyCode Avec KeyPressed, tu ne pourras pas voir quelle touche, mais uniquement quel caractère tu as tapé : e.KeyChar (d'ailleurs, cet événement n'est pas appelé lorsque tu appuies sur Ctrl par exemple).
Cependant, l'événement qui remplit la textbox est l'événement KeyPressed, donc c'est celui-là dont il faut que tu t'occupes si tu souhaites qu'il n'aille pas jusqu'à la textbox.
=> Exemple pour empêcher l'utilisateur de taper un 'C' dans une textbox et affiche un message
this.KeyPreview = true; this.KeyPressed += new KeyPressEventHandler(Form1_KeyPress);
private void Form1_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 'c' || e.KeyChar == 'C') { e.Handled = true; // Si l'événement est Handled, il n'est pas utilisé ailleurs (dans ta textbox par exemple) MessageBox.Show("Tu as appuyé sur C et rien n'a été tapé dans ta textbox."); } }
Krimog : while (!(succeed = try())) ; - NON, "LE BAR" n'est PAS un langage de programmation ! -
|