private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if (!char.IsDigit(e.KeyChar)) e.Handled = true; } Pour les lettres private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if (!char.IsLetter(e.KeyChar)) e.Handled = true; }
30 juil. 2015 à 16:57
22 mars 2016 à 14:51
22 mars 2016 à 17:44
c'est normal, backspace, suppr, les flèches etc ne sont pas des caractères, ils ne sont donc pas intercepté par KeyPress.
Si tu veux faire un champ numérique (puisque c'est le sujet de la discussion), il y a cette méthode
https://msdn.microsoft.com/fr-fr/library/ms229644(v=vs.90).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1
Si tu veux faire quelque chose de plus personnalisé, tu as cette méthode
http://codes-sources.commentcamarche.net/forum/affich-1526742-keydown-keypress#5
(lire la discussion dans l'ordre chronologique)
11 nov. 2017 à 14:02