Validation NumericUpDown

babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015 - 24 avril 2007 à 12:24
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 - 25 avril 2007 à 10:27
Bonjour,

J'aimerai alerter l'utilisateur lorsqu'il effectue une mauvaise saisie dans un numericUpDown (valeur pas dans les min/max ou saisie du style "12...0"). Or en cas de mauvaise saisie, le contrôle modifie automatiquement la valeur .
Exemple     - saisie "12...0"> corrige en "0" (valeur mini)   - saisie "-2555"> corrige en "-1" (valeur mini)

Je n'arrive pas à trouver l'event qui m'indique l'erreur de saisie et donc la correction automatique de la valeur du numericUpDown...

Slts

DT

9 réponses

ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
24 avril 2007 à 13:05
salut,

utilises l'event Validating et assure toi que la propriété CausesValidation est true...en interne, le updown semble changer la valeur après validating...

ShareVB
0
babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015
24 avril 2007 à 13:15
- CausesValidation est à true pour le contrôle
- L'event Validating a déjà changé la valeur (je suis en VS2005)

DT
0
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
24 avril 2007 à 13:32
salut,

moi quand je fais un test :
dans le validating, la valeur Text n'est pas encore changée, elle l'est seulement après mon propre validating...

ShareVB
0
babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015
24 avril 2007 à 17:41
j'ai fait un petit prog de test, j'ai une form avec un numericUpDown

private

void numericUpDown1_Validating(object sender, CancelEventArgs e)
{
string str = numericUpDown1.Value.ToString();
}str contient "0" si je saisi "12..." dans le numericUpDown.

Qu'appelles tu "mon propre validating" ?

DT
0

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

Posez votre question
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
24 avril 2007 à 18:55
salut,

j'entend la même chose que toi à part que je regarde dans la propriété Text :)...

ShareVB
0
babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015
24 avril 2007 à 19:01
Bizzare, je n'ai pas la propriété "Text". Ton objet numericUpDown possède une propriété "Text"  et pas le mien...System.Windows.Forms.NumericUpDown dans VS2005 SP1 (dernière maj) / Version 2.0 .Net Component

DT
0
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
24 avril 2007 à 19:15
salut,

deux choses :
-> la propriété Text est cachée : "The Text has no affect on the appearance of the NumericUpDown control; therefore, it is hidden in the designer and from IntelliSense."...voir http://msdn2.microsoft.com/en-us/library/system.windows.forms.numericupdown.text(vs.80).aspx
-> l'event validating ne se déclenche pas forcément au bon moment...tu peux utiliser un simple KeyPress...ou KeyUp...

ShareVB
0
babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015
25 avril 2007 à 10:12
Je laisse tombé,  
   - Dans mon event Validating ".text" a déjà été modifié

   - J'ai créé un event TextChanged (qui est un event caché) mais il ne se déclenche pas

   - lorsque je fais un traitement dans le Keypress (simplement une assignation de .text dans une variable string), le numericUpDown execute un autovalidate automatiquement et change donc le contenu du control pendant la saisie...

   - il me reste le KeyDown mais qui se déclenche plusieurs fois si le control effectue automatiquement une correction

J'ai donc perdu assez de temps sur ce problème. Merci encore pour ta patience...

DT
0
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
25 avril 2007 à 10:27
salut,

la seule solution qu'il te resterait serait de te faire un numericupdown perso, genre http://www.koders.com/csharp/fid7DF32269C66721C510F5F001DDADB81FFD01366D.aspx...mais bon...

ShareVB
0
Rejoignez-nous