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

Messages postés
17
Date d'inscription
mardi 10 avril 2007
Dernière intervention
25 mai 2010
- - 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 

Votre réponse

14 réponses

Meilleure réponse
Messages postés
327
Date d'inscription
vendredi 23 décembre 2005
Dernière intervention
8 février 2011
1
Merci
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

Merci cs_GG29 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

ça marche à merveille . Merci
mais la touche pour effacer le text ne travaille pas
Whismeril
Messages postés
12345
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
6 décembre 2018
> Kimo -
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
Messages postés
15
Date d'inscription
lundi 11 avril 2011
Dernière intervention
1 mars 2013
1
Merci
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

Merci WIEM7 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de WIEM7
Messages postés
17
Date d'inscription
mardi 10 avril 2007
Dernière intervention
25 mai 2010
0
Merci
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
Messages postés
327
Date d'inscription
vendredi 23 décembre 2005
Dernière intervention
8 février 2011
0
Merci
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
Messages postés
17
Date d'inscription
mardi 10 avril 2007
Dernière intervention
25 mai 2010
0
Merci
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
Messages postés
327
Date d'inscription
vendredi 23 décembre 2005
Dernière intervention
8 février 2011
0
Merci
Tu as mis la propriété AutoPostBack à true ?
Commenter la réponse de cs_GG29
Messages postés
17
Date d'inscription
mardi 10 avril 2007
Dernière intervention
25 mai 2010
0
Merci
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
Messages postés
327
Date d'inscription
vendredi 23 décembre 2005
Dernière intervention
8 février 2011
0
Merci
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
Messages postés
327
Date d'inscription
vendredi 23 décembre 2005
Dernière intervention
8 février 2011
Commenter la réponse de cs_GG29
Messages postés
17
Date d'inscription
mardi 10 avril 2007
Dernière intervention
25 mai 2010
0
Merci
merci ca marché enfin :) c'est trés gentil :)
bonne journée
Commenter la réponse de maroueniag
Messages postés
327
Date d'inscription
vendredi 23 décembre 2005
Dernière intervention
8 février 2011
0
Merci
N'oublie pas de mettre Résolu
Commenter la réponse de cs_GG29
Messages postés
17
Date d'inscription
mardi 10 avril 2007
Dernière intervention
25 mai 2010
0
Merci
Résolu
vb95
Messages postés
1719
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 décembre 2018
-
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
Messages postés
9
Date d'inscription
mercredi 9 décembre 2009
Dernière intervention
23 avril 2010
0
Merci
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
Messages postés
327
Date d'inscription
vendredi 23 décembre 2005
Dernière intervention
8 février 2011
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.