Comment détecter si le champs remplis dns un texbox n'est pas numérique

MINDONGO - 27 août 2012 à 17:59
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 - 28 août 2012 à 13:17
bonjour
maintenant je un problème pour mon textboxNuméroproduit
quant on veut lancer une recherche, on doit vérifier si dans le champs
par exemple on a saisis une lettre autre qu'un nombre(Numérique)
que le message d'errerur s'affiche "entrer un nombre svp" en renvoyant
le curseur dans mon textboxNuméroproduit

supposons que la condition pour tester est la suivante
(mais incomplet)

private void toolStripButtonRECHERCHER_Click_1(object sender, EventArgs e)
{
if (.......textboxNuméroproduit.......)// c'est ici que je suis limité pour continuer pour le numérique(0-9 )
{
messagebox.show"entrer un nombre svp"
textboxNuméroproduit.Focus();
}
else
{
//exécution de la requête
}
}

merci d'avance

6 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
27 août 2012 à 18:42
Bonjour,

Tu peux essayer Int32.TryParse.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
0
merci, mais comment l'insérer c'est ça mon problème
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
27 août 2012 à 20:04
Bonjour,

Regardes dans l'aide MSDN, tout est indiqué :
http://msdn.microsoft.com/fr-fr/library/system.int32.tryparse.aspx

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
0
cs_BinKentsu Messages postés 64 Date d'inscription jeudi 1 septembre 2011 Statut Membre Dernière intervention 22 juillet 2014 8
28 août 2012 à 08:39
Bonjour,

if (Int32.TryParse("ton string", out tavariableInt))
{
  // C'est un entier et tu récupères la valeur dans tavariableInt
}
else
{
  // C'est pas un entier
}

BinKentsu
0

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

Posez votre question
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
28 août 2012 à 10:42
Hello,
Tu ne peux pas le détecter en amont? C'est-à-dire de définir ton textbox en tant que saisie numérique seulement?


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
28 août 2012 à 13:17
Bonjour, la proposition de buno est à mon avis la plus simple mais parfois ça ne suffit pas.
C'était une de mes première question en C#, mais apparement l'historique de mes message ne remonte pas aussi loin.
Pour mon cas j'avais dérivé un textbox et traité le message au moment de la saisie pour avoir le format que je voullais.

        protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            switch (keyData)
            {
                case Keys.NumPad0:
                case Keys.NumPad1:
                //....
                       return base.ProcessCmdKey(ref msg, keyData);

                default:
                       return false;
             }

        }


Whismeril
0
Rejoignez-nous