Controle de saisie d'un text box [Résolu]

maroueniag 17 Messages postés mardi 10 avril 2007Date d'inscription 25 mai 2010 Dernière intervention - 5 avril 2010 à 10:55 - Dernière réponse :  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
Afficher la suite 

19 réponses

Répondre au sujet
cs_GG29 327 Messages postés vendredi 23 décembre 2005Date d'inscription 8 février 2011 Dernière intervention - 6 avril 2010 à 00:32
+1
Utile
4
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
Cette réponse vous a-t-elle aidé ?  
ça marche à merveille . Merci
mais la touche pour effacer le text ne travaille pas
Whismeril 10662 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 26 décembre 2017 Dernière intervention > 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)
Merci beaucoup c'est très aidant
Commenter la réponse de cs_GG29
WIEM7 15 Messages postés lundi 11 avril 2011Date d'inscription 1 mars 2013 Dernière intervention - 23 avril 2012 à 12:34
+1
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de WIEM7
maroueniag 17 Messages postés mardi 10 avril 2007Date d'inscription 25 mai 2010 Dernière intervention - 7 avril 2010 à 11:42
0
Utile
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 :)
Commenter la réponse de maroueniag
cs_GG29 327 Messages postés vendredi 23 décembre 2005Date d'inscription 8 février 2011 Dernière intervention - 7 avril 2010 à 11:59
0
Utile
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();
}
Commenter la réponse de cs_GG29
maroueniag 17 Messages postés mardi 10 avril 2007Date d'inscription 25 mai 2010 Dernière intervention - 7 avril 2010 à 12:26
0
Utile
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.
Commenter la réponse de maroueniag
cs_GG29 327 Messages postés vendredi 23 décembre 2005Date d'inscription 8 février 2011 Dernière intervention - 7 avril 2010 à 12:29
0
Utile
Tu as mis la propriété AutoPostBack à true ?
Commenter la réponse de cs_GG29
maroueniag 17 Messages postés mardi 10 avril 2007Date d'inscription 25 mai 2010 Dernière intervention - 7 avril 2010 à 12:31
0
Utile
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.
Commenter la réponse de maroueniag
cs_GG29 327 Messages postés vendredi 23 décembre 2005Date d'inscription 8 février 2011 Dernière intervention - 7 avril 2010 à 12:34
0
Utile
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(); 
}
Commenter la réponse de cs_GG29
cs_GG29 327 Messages postés vendredi 23 décembre 2005Date d'inscription 8 février 2011 Dernière intervention - 7 avril 2010 à 12:36
Commenter la réponse de cs_GG29
maroueniag 17 Messages postés mardi 10 avril 2007Date d'inscription 25 mai 2010 Dernière intervention - 7 avril 2010 à 12:59
0
Utile
merci ca marché enfin :) c'est trés gentil :)
bonne journée
Commenter la réponse de maroueniag
cs_GG29 327 Messages postés vendredi 23 décembre 2005Date d'inscription 8 février 2011 Dernière intervention - 7 avril 2010 à 13:01
0
Utile
N'oublie pas de mettre Résolu
Commenter la réponse de cs_GG29
maroueniag 17 Messages postés mardi 10 avril 2007Date d'inscription 25 mai 2010 Dernière intervention - 8 avril 2010 à 23:32
0
Utile
1
Résolu
vb95 1392 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 23 décembre 2017 Dernière intervention - 23 mars 2016 à 17:36
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 !!!!!
Commenter la réponse de maroueniag
BRICE1182 9 Messages postés mercredi 9 décembre 2009Date d'inscription 23 avril 2010 Dernière intervention - 9 avril 2010 à 13:11
0
Utile
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
Commenter la réponse de BRICE1182
cs_GG29 327 Messages postés vendredi 23 décembre 2005Date d'inscription 8 février 2011 Dernière intervention - 9 avril 2010 à 13:40
Commenter la réponse de cs_GG29

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.