Test textbox

Signaler
Messages postés
225
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
20 juin 2006
-
Messages postés
2
Date d'inscription
vendredi 29 juin 2007
Statut
Membre
Dernière intervention
6 avril 2008
-
comment faire le test sur un textBox pour savoir si la chaine de caractère entée est un entier ou pas. C'est pour savoir s'il a entré un code postal

11 réponses

Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
61
Tu travailles avec le framework 1.1 ou 2.0 ?

Amicalement, SharpMao
Messages postés
273
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
6 février 2009
1
Hello
Utilise plutot, l'ami de mickey , une MaskedTextBox avec un mask "00000" et là tu sera sur d'avoir qu'un nombre de 5 chiffres

<hr>ZeBobo5
N'oubliez pas de cloturer votre post.
Messages postés
441
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
22 mai 2012
7
Salut,
Je te propose ce test :

// [0-9] pour n'accepter que les caractères numériques
// {5} pour n'accepter que 5 caractères (ni +, ni - )
Regex regEx =
new Regex( "[0-9]{5}" );

if( regEx.Match( textBox.Text ) == textBox.Text.Length )
{
// OK
}
else

// Pas OK
Messages postés
225
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
20 juin 2006
1
c le framework 20. que j'utilise

je vais tester ta soluce ludinski
Messages postés
305
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 août 2011
4
Tu peux aussi tenter un cast :

try{
int.parse(matextbox.Text);
return true;
catch{
return false;
}
Messages postés
225
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
20 juin 2006
1
en fait ca marche peut pas comparer un int et un system.text.regularExpression.Match
Messages postés
273
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
6 février 2009
1
dans ce cas yoannd utilise plutot le

int solution = 0;
bool reussit = int.TryParse(TextBox.Text, out solution);

si "reussit" est à true, alors "solution" est correct

<hr>ZeBobo5
N'oubliez pas de cloturer votre post.
Messages postés
305
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 août 2011
4
Exact Zebobo5 !

C'est effectivement une méthode plus propre.

D'ailleurs, sur le même sujet, vous pouvez consulter cette source :
http://www.csharpfr.com/code.aspx?ID=35028
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
le mieux reste l'utilisation d'un NumericUpDown... lui n'autorisera que la saisie de chiffres.

Sébastien FERRAND
[MVP C#]
Messages postés
305
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 août 2011
4
Exact :-)

Mais pour un code postal, je ne suis pas sûr que ce soit le plus approprié.

Sinon, tu peux aussi utiliser le text box qui permet de forcer la saisie à un format définit... C'est un truc qui s'appèle MaskedTextBox, non ? C'est un contrôle utilisateur que je trouve pas particulièrement ergonomique, mais bon, il a le mérite d'empêcher à l'utilisateur de saisir des lettres là ou tu veut que des chiffres...
Messages postés
2
Date d'inscription
vendredi 29 juin 2007
Statut
Membre
Dernière intervention
6 avril 2008

je veux savoir comment utilier un MaskedTextBox en c# et les exceptions