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 :

Contrôle NumericUpDown et événements utilisateurs [Débutant]


Sujet :

VB.NET

  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2012
    Messages
    640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2012
    Messages : 640
    Points : 372
    Points
    372
    Par défaut Contrôle NumericUpDown et événements utilisateurs
    Bonsoir a tous,
    Mon problème a l'air simple mais je bute un peu.
    A chaque fois que j'initialise la propriété Maximum avec une valeur inférieur a la propriété Value, l’événement ValueChanged est levé ce qui entraîne l'assignation d'une valeur erroné dans ma variable en ligne 8 du code ci-dessous. Savez vous si il existe un événement qui réagissent uniquement sur une action utilisateur par exemple ?

    Voici un bout de code pour mieux comprendre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Initialisation
        NumericUpDownLogoX.Maximum = MaxValueLogoX
        NumericUpDownLogoX.Increment = 2
        NumericUpDownLogoX.Value = ThisVideo.MediaData.Logo.x
    End Sub
     
    Private Sub NumericUpDownLogoX_ValueChanged(sender As System.Object, e As System.EventArgs) Handles NumericUpDownLogoX.ValueChanged
        ThisVideo.MediaData.Logo.x = CInt(NumericUpDownLogoX.Value)
    End Sub
    Merci beaucoup pour votre aide.

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Tu peux créer un membre booléen privé pour savoir si tu es en train d'initialiser ou non :
    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    Private _isInit as Boolean
    Tu définis sa valeur dans l'Init :
    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Initialisation
        Me._isInit = True
     
        NumericUpDownLogoX.Maximum = MaxValueLogoX
        NumericUpDownLogoX.Increment = 2
        NumericUpDownLogoX.Value = ThisVideo.MediaData.Logo.x
    End Sub
    Et tu l'utilises dans ton évènement pour savoir si tu es en train d'initialiser ou non :
    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub NumericUpDownLogoX_ValueChanged(sender As System.Object, e As System.EventArgs) Handles NumericUpDownLogoX.ValueChanged
        If Me._isInit = True Then
            ThisVideo.MediaData.Logo.x = CInt(NumericUpDownLogoX.Value)
        End If
    End Sub
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2012
    Messages
    640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2012
    Messages : 640
    Points : 372
    Points
    372
    Par défaut
    Merci beaucoup DotNetMatt,
    J'ai toujours tendance a chercher des événements qui réagissent uniquement aux actions utilisateurs mais qui n'existent pas forcement pour tous les contrôles. Cela éviterait ce genre de petit soucis je trouve.
    Bref, Je vais donc faire comme cela.

    Encore merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.NET] Contrôles personnalisés et évènements
    Par cameleon33 dans le forum Débuter
    Réponses: 0
    Dernier message: 12/09/2008, 08h32
  2. [POO]Où placer les écouteurs d'évènement utilisateur?
    Par ChriGoLioNaDor dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 03/09/2008, 07h28
  3. Distinguer un événement système d'un événement utilisateur ?
    Par Filippo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/08/2008, 11h43
  4. Liste avec le contrôle NumericUpDown
    Par gta126 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 22/06/2008, 10h16
  5. Réponses: 5
    Dernier message: 28/02/2006, 09h44

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