IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Question sur NumericUpDown


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 139
    Par défaut Question sur NumericUpDown
    Bonjour tout le monde,

    Vous avez proposé d'utiliser NumericUpDown pour entrer des valeurs numérique. Merci bien pour votre proposition. C'est super. Je viens de demander mon tuteur pour le cahier des charges sur ça, il veut que :

    Quand on entre une valeur, si cette valeur n'est pas dans le plage de valeur autorisé, on aura un truc de tooltip qui nous montre la plage de valeur.

    J'avais envie de faire ça avant avec un textbox, mais il me paraît qu'il faut gérer un truc comme "Validating". ça a l'air compliqué et s'il y a 60 textboxs, ça devient trop lourd le programme.

    Est-ce que vous savez s'il on peut faire avec NumericUpDown et si c'est plus simple ou pas ?

    Merci bien pour vos participations.
    Bon appétit

  2. #2
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Bonjour,

    tu peux controler ta valeur, je te laisse un idée vite fait codée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     Private Sub NumericUpDown1_ValueChanged(sender As System.Object, e As System.EventArgs) Handles NumericUpDown1.ValueChanged
     
            If NumericUpDown1.Value = NumericUpDown1.Maximum Then
                MsgBox(" arrivé en valeur Max")
            ElseIf NumericUpDown1.Value = NumericUpDown1.Minimum Then
                MsgBox(" arrivé en valeur Min")
            End If
     
    End Sub
    Bon appétit

  3. #3
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 141
    Par défaut
    Salut,

    Tu peux définir les paramètres Minimum et Maximum sur ton numeric up-down, et tu n'as donc pas besoin de validation.

    En effet, si l'utilisateur entre un nombre hors-fourchette, celui-ci sera automatiquement remis à la limite la plus proche une fois que le controle perdra son focus.

    Exemple : si ton controle a un min de 0 et un max de 100, essaie de rentrer 150 et ton controle se remettra à 100 une fois le focus perdu !

  4. #4
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 139
    Par défaut
    Citation Envoyé par spottt Voir le message
    Salut,

    Tu peux définir les paramètres Minimum et Maximum sur ton numeric up-down, et tu n'as donc pas besoin de validation.

    En effet, si l'utilisateur entre un nombre hors-fourchette, celui-ci sera automatiquement remis à la limite la plus proche une fois que le controle perdra son focus.

    Exemple : si ton controle a un min de 0 et un max de 100, essaie de rentrer 150 et ton controle se remettra à 100 une fois le focus perdu !
    Oui, ça je comprends. C'est que mon tuteur veut que quand ça dépasse, il faut l'indiquer et permet à l'utilisateur de re-entrer la valeur. J'ai regardé pour le textbox, il s'agit d'un ActiveControle, un truc e.cancel . Si ce n'est pas la bonne valeur, il faut toujours rester le curseur dans la case et laisse l'utilisateur de re faire la valeur .


  5. #5
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 139
    Par défaut
    Citation Envoyé par hunteshiva Voir le message
    Bonjour,

    tu peux controler ta valeur, je te laisse un idée vite fait codée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     Private Sub NumericUpDown1_ValueChanged(sender As System.Object, e As System.EventArgs) Handles NumericUpDown1.ValueChanged
     
            If NumericUpDown1.Value = NumericUpDown1.Maximum Then
                MsgBox(" arrivé en valeur Max")
            ElseIf NumericUpDown1.Value = NumericUpDown1.Minimum Then
                MsgBox(" arrivé en valeur Min")
            End If
     
    End Sub
    Salut, Merci bien pour ta réponse. Le problème est que, si c'est comme ca, est-ce que après l'utilisateur peut encore entrer une autre valeur ?

    Je vais faire un test sur ça et merci bien de ton idée .

  6. #6
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Citation Envoyé par xingjing910 Voir le message
    est-ce que après l'utilisateur peut encore entrer une autre valeur ?
    Oui, il n'y a pas de raisons.
    Tout ce que tu fait, c'est regarder les changements de valeurs.
    Dès que tu atteinte la valeur max ou min, tu le signal à l'utilisateur,
    sans l'empêcher de ressaisir une valeur si tel est ta question.

    Après je pense que faire un supérieur ou égale serais plus judicieux pour la valeur max. Idem pour la valeur Min.
    Bon et tu sera gentil de ne pas mette de MsgBox mais des Tooltip.
    C'est moins agressifs à l'utilisation, mais plus long à coder

  7. #7
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 139
    Par défaut
    Après je pense que faire un supérieur ou égale serais plus judicieux pour la valeur max. Idem pour la valeur Min.
    Bon et tu sera gentil de ne pas mette de MsgBox mais des Tooltip.
    C'est moins agressifs à l'utilisation, mais plus long à coder
    Salut, merci bien de ta réponse. Mais j'ai un soucis. J'essaie le procédure
    Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged
    Mais ça ne marche pas . Quand j'entre une valeur plus grande, çe ne fait pas l'effet. j'ai essayé ton code aussi, je ne sais pas pourquoi . Peut-être c'est une propriété est mal initialisé ???
    tu as une idée ????
    merci d'avance

  8. #8
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Je dois t’avouer que je me suis jamais servi d'un NumericUpDown

    As tu placé des points d’arrêts pour voir si tu passe bien dans l'événement "ValueChanged" ?
    essaye de voir si les événements "Validated" ou "Validating" ne sont pas plus appropriés.

  9. #9
    Membre émérite

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Par défaut
    Salut

    l'évenement NumericUpDown1_ValueChanged est detecté si on on clique
    sur les flèches du NumericUpDown
    maintenant quand tu frappe un nombre > max
    le numericupdown.value prend la valeur de max est pas le nombre que tu
    as frappé pareil pour une valeur < min

  10. #10
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 139
    Par défaut
    Citation Envoyé par hunteshiva Voir le message
    Je dois t’avouer que je me suis jamais servi d'un NumericUpDown

    As tu placé des points d’arrêts pour voir si tu passe bien dans l'événement "ValueChanged" ?
    essaye de voir si les événements "Validated" ou "Validating" ne sont pas plus appropriés.
    Salut Hunteshiva,

    Je suis en train d'utiliser Tooltip comme ton exemple dans la discussion "Application de TextBox". Le problème est que ça ne fait pas d'effet quand je place le souris sur le case ...

    Tu as une idée ? Merci bien

    Bon appétit

  11. #11
    Membre émérite

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Par défaut
    ce n'est pas l'évenement valuechanged
    si tu frappes dans le textbox du numeric l'évenement valuechanged n'a pas
    d'effet

    peut etre comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub NumericUpDown1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles NumericUpDown1.KeyUp
            If DirectCast(sender, NumericUpDown).Value = DirectCast(sender, NumericUpDown).Maximum Then
                MessageBox.Show(" arrivé en valeur Max")
            ElseIf DirectCast(sender, NumericUpDown).Value = DirectCast(sender, NumericUpDown).Minimum Then
                MessageBox.Show(" arrivé en valeur Min")
            End If
        End Sub

  12. #12
    Membre émérite

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Par défaut
    Oui, ça je comprends. C'est que mon tuteur veut que quand ça dépasse, il faut l'indiquer et permet à
    le tuteur t'obliges à utiliser un numériqueupdown ?

  13. #13
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 139
    Par défaut
    Citation Envoyé par shayw Voir le message
    le tuteur t'obliges à utiliser un numériqueupdown ?
    il n'oblige pas, mais il veut avoir des fonctionnements qu'il veut. Il faut que j'arrive à le faire quoi ... avec les moyens les plus simples possible.

    Heihei.; Merci bien Shayw

  14. #14
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    qu'il y ait 1 ou 60 textbox quand on sait coder ca demande quasiment autant de lignes de code dans les 2 cas
    soit faire un textbox dérivé qui gère tout l'affichage (via un usercontrol te permettrait de gérer un affichage des bornes facilement)
    et/ou en créant les controles à la volée, car poser 60 textbox relève du défaut de connaissance, il vaut mieux faire une boucle qui les instancie
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  15. #15
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 139
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    qu'il y ait 1 ou 60 textbox quand on sait coder ca demande quasiment autant de lignes de code dans les 2 cas
    soit faire un textbox dérivé qui gère tout l'affichage (via un usercontrol te permettrait de gérer un affichage des bornes facilement)
    et/ou en créant les controles à la volée, car poser 60 textbox relève du défaut de connaissance, il vaut mieux faire une boucle qui les instancie
    Coucou Pol63,
    Je suis désolée, je n'ai pas bien compris ton message. Mais ça a l'air bien intéressant, pourrais - tu expliquer plus en détail ? stp ?

    Merci bien

  16. #16
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim t as new textbox ' création d'un textbox
    me.controls.Add(t) ' on pose le textbox sur le form (voir .top et .left pour le placer, ou encore mieux un panel de layout)
    addhandler t.validating, addressof subdevalidation ' définition de la méthode qui va gérer l'évènement
    + une boucle ca remplit l'interface et une seule méthode gère l'évènement de tous les controles

    et chercher un tuto sur usercontrol aussi

    enfin ca fait pas mal de choses à potasser, il ne faut pas hésiter à lire pendant des dizaines heures avant de coder, ca te fera gagner au moins autant de temps !

    un cours : http://plasserre.developpez.com/cours/vb-net/

    on ne peut pas t'expliquer tous ces concepts dans le détail, ca nous prendrait des heures, surtout que sur le cours tout est écrit et ca prend des milliers de ligne, donc on ne va pas retaper les même milliers de ligne ici ^^
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. [debutant] Questions sur 1 futur projet
    Par cyrull22 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 28/04/2003, 21h49
  2. Quelques questions sur le TWebBrowser...
    Par CorO dans le forum Web & réseau
    Réponses: 3
    Dernier message: 17/01/2003, 21h23
  3. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  4. Réponses: 2
    Dernier message: 11/08/2002, 21h27
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo