Controle de saisie d'un text box

Résolu
maroueniag
Messages postés
17
Date d'inscription
mardi 10 avril 2007
Statut
Membre
Dernière intervention
25 mai 2010
- 5 avril 2010 à 10:55
 Lauriano - 11 nov. 2017 à 14:02
Bonjour, je veux faire un controle de saisie dans un textBox, en numérique et en chaine de caractére,
j'explique, dans un textbox Numéro produit par exemple l'utilisateur ne peux saisir que des numéros pas de caractéres, et dans un textbox Nom Produit l'utilisateur ne pourras écrire que des caractéres et pas des numéros, càd s'il écris un numéros, un message apparait Vous devez saisir que des chaines de caractéres par exemple.merci d'avance

14 réponses

cs_GG29
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
17
Modifié le 12 mars 2020 à 09:44
Il suffit de contrôler ce que l'utilisateur tape. Pour cela le TextBox possède un évènement KeyPress.
Pour les chiffres
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;
}

il y a un bout de temps j'avais fait un textbox pour gérer les valeurs numériques
http://www.csharpfr.com/codes/TEXTBOX-MONETAIRE_41205.aspx
6
ça marche à merveille . Merci
0
mais la touche pour effacer le text ne travaille pas
0
Whismeril
Messages postés
17337
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
22 mai 2022
596 > Kimo
22 mars 2016 à 17:44
Bonjour
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)
0
Merci beaucoup c'est très aidant
0
WIEM7
Messages postés
15
Date d'inscription
lundi 11 avril 2011
Statut
Membre
Dernière intervention
1 mars 2013
2
23 avril 2012 à 12:34
bonjour;
j ai essai ce code pour qu' un textbox n accepte que des caractéres et ca marche a merveille
MAIS ce textbox n accepte plus la touche supprimer lorsque j ai une faute de frappe et je voudrai l effacer
je vous pris de me repondre
merciiiiiiiiiii
1
maroueniag
Messages postés
17
Date d'inscription
mardi 10 avril 2007
Statut
Membre
Dernière intervention
25 mai 2010

7 avril 2010 à 11:42
bonjour, merci d'avoir répondu, c'est gentil :)
je viens de tester le code que vous m'avez envoyer mais ca ne marche pas, meme si j'ai ajouté une référence Using System.Windows.Forms(); mais ca ne marche pas, pouvez vous m'aider à la régler svp? je suis en train de developper une application web en c#, j'utilise Visual Studio 2008,
j'ai vu le lien que vous m'avez envoyer aussi, mais ca ne marche pas apparement parce que j'utilise une version plus récente que la votre, que puis-je faire pour la régler? merci d'avance GG29 et bonne journée :)
0
cs_GG29
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
17
7 avril 2010 à 11:59
Déjà tu viens d'ajouter une précision : Application web. Mon code marche pour des applications Windows Forms.
En asp il n'y a pas d'évènement KeyPress. On utilise donc l'event TextChanged.

protected void TextBox1_TextChanged(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();

foreach (char c in TextBox1.Text)
{
if (Char.IsDigit(c))
sb.Append(c);
}

TextBox1.Text = sb.ToString();
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
maroueniag
Messages postés
17
Date d'inscription
mardi 10 avril 2007
Statut
Membre
Dernière intervention
25 mai 2010

7 avril 2010 à 12:26
resalut, merci encore une fois d'avoir répondu, oui c'est une application web, je viens d'ajouter le code mais en vain, il acceptes les lettres et les chiffres, que puis je faire? exusez moi pour le dérengement, mais j'ai vraiment besoin de se controle, peux pas le laisser tomber.
0
cs_GG29
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
17
7 avril 2010 à 12:29
Tu as mis la propriété AutoPostBack à true ?
0
maroueniag
Messages postés
17
Date d'inscription
mardi 10 avril 2007
Statut
Membre
Dernière intervention
25 mai 2010

7 avril 2010 à 12:31
pouvez vous m'envoyer un bouquin ou un document qui m'aides à maitriser le c#.net, parce que j'ai déja commencé à apprendre le c# mais parfois il ya des trucs qui ne marchent pas, puisqu'il ya une différence entre le code d'une application web et une application Windows Forms.
0
cs_GG29
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
17
7 avril 2010 à 12:34
Asp


C#
protected void TextBox1_TextChanged(object sender, EventArgs e) 
{ 
StringBuilder sb = new StringBuilder(); 

foreach (char c in TextBox1.Text) 
{ 
if (Char.IsDigit(c)) 
sb.Append(c); 
} 

TextBox1.Text = sb.ToString(); 
}
0
cs_GG29
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
17
7 avril 2010 à 12:36
0
maroueniag
Messages postés
17
Date d'inscription
mardi 10 avril 2007
Statut
Membre
Dernière intervention
25 mai 2010

7 avril 2010 à 12:59
merci ca marché enfin :) c'est trés gentil :)
bonne journée
0
cs_GG29
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
17
7 avril 2010 à 13:01
N'oublie pas de mettre Résolu
0
maroueniag
Messages postés
17
Date d'inscription
mardi 10 avril 2007
Statut
Membre
Dernière intervention
25 mai 2010

8 avril 2010 à 23:32
Résolu
0
vb95
Messages postés
2630
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
19 mai 2022
151
Modifié par vb95 le 23/03/2016 à 17:39
Bonjour maroueniag

Si cs_GG29 te demande de mettre "Résolu" ce n'est pas de faire une message avec ce mot mais de résoudre ce post avec le bouton adéquat
( voir tout en haut au début de ton post)

Merci

Zut ! Pas vu que cela date !!!!!
0
BRICE1182
Messages postés
9
Date d'inscription
mercredi 9 décembre 2009
Statut
Membre
Dernière intervention
23 avril 2010

9 avril 2010 à 13:11
Bonjour,
J'ais un petit souci avec une application.Je suis débutant et je voudrais activer une interface form2 à partir d'un bouton de l'interface form1, mais aussi quitter l'application à partir d'un autre bouton
0
cs_GG29
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
17
9 avril 2010 à 13:40
0