bonjour
je souhaiterai eviter que dans une textBox un user saisisse des caractères(je souhaite qu'il n'y ai que des chiffres) pour ensuite m'en servir pour un calcul.
merci d'avance
bonjour
je souhaiterai eviter que dans une textBox un user saisisse des caractères(je souhaite qu'il n'y ai que des chiffres) pour ensuite m'en servir pour un calcul.
merci d'avance
Bonjour
Sur l'évènement TextChange effetue un contrôle du contenu de la TextBox avec une Expression Régulière.
Cordialement
Christophe B.
je cherche la mêm chose, si tu trouve la réponse merci de la noter, je ferais de même
![]()
il n'y a pas de réussite facile, ni d'échec définitif
Bonsoir
La réponse n'est pas loin juste ici http://faqcsharp.developpez.com/?pag...orm_txtbox_num dans la F.A.Q toujours pensez a y faire un tour
Capitaine Kirk.
je pas compris ce qu'il y a de marquer dans la faq.je débute dans la programmation et je pige pas un mot.
essaye cette solution qui marche 100000000000%
je veins de l'implémenter dans mon travail :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 private void txtPartyPostalcode_KeyPress(object sender, KeyPressEventArgs e) { // N'accepte que du numérique if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != 13) { e.Handled = true; } }
Qu'est ce que tu n'as pas compris la dedans ?Comment ne saisir que des caractères numériques dans mon TextBox ? [haut]
auteur : abelman
On se sert de l'événement KeyPress pour intercepter les caractères entrés dans le TextBox.
La propriété Handle de la classe KeyPressEventArgs indique à l'application ce qu'il faut faire du caractère intercepté.
Si elle vaut false, le traitement par défaut du caractère (l'affichage pour les caractères imprimables) est appliqué.
Si elle vaut true, c'est votre code qui décide ce qu'il faut faire du caractère. Si vous ne faites rien, il ne sera pas affiché. Sa valeur par défaut est false.
Exemple simple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) { if (!char.IsDigit(e.KeyChar)) // Tous les caractères non numériques ne sont pas traités sur le TextBox. e.Handled = true; }
Remarquer qu' avec ce code, des touches générant un caractère non imprimable (comme la touche BACK) n'auront aucun effet sur le textbox.
Si vous voulez faire un véritable contrôe TexBox numérique, vous devez en tenir compte, gérer le copier-coller CTRL+C et SHIFT+INS avec l'événement KeyDown, et aussi avec le clic droit (menu contextuel coller) sur la souris.
Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.
J'ai codé mes propores controles pour des textbox numeric date monnaie et autres.......
ajoute moi sur msn et je te send la dll
fallysoft@hotmail.com
ce que je ne compren pas c'est ca
"if (!char.IsDigit(e.KeyChar))
{
// Tous les caractères non numériques ne sont pas traités sur le TextBox.
e.Handled = true
}"
le if c'est bon
!char deja je comprend plus
is digit encore moins
le e point quelquechose c'est pareil et key char de meme.en fait tout quoi!!
pour précision je débute dans la programmation en général merci d'etre indulgent.
dsl mais je n'utilise pas msn.(c'est rare je sait)
Salut,
bah si tu debutes, pourquoi ne pas utiliser directement du standard à savoir le NumericUpDown qui fait exactement ce que tu cherches, sans avoir à t'embeter avec des handler perso ?
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development
WPF par la pratique, mon livre sur WPF ! (également disponible ici ou là)
A la découverte de .NET
Effectivement, pas besoin de réinventer la roue...
Si tu ne comprends pas ce code, c'est que tu ne connais pas les bases du langage C#... je ne te reproche pas de débuter évidemment, ce serait idiot, mais je te conseille vivement de chercher des cours et tutoriels sur C# avant de chercher à aller plus loin, sinon tu auras beaucoup de mal à avancer !
Pour ce qui est de "char", "IsDigit", "KeyChar", "Handled" etc, tu trouveras toutes les réponses dans la documentation du .NET Framework.
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
je vous remercie pour vos réponses et je vais essayer tout vos solutions.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager