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 :

Activation/Désactivation de plusieurs boutons


Sujet :

VB.NET

  1. #1
    Membre averti
    Homme Profil pro
    Ingenieur aut. & ctrl
    Inscrit en
    Janvier 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingenieur aut. & ctrl

    Informations forums :
    Inscription : Janvier 2011
    Messages : 13
    Par défaut Activation/Désactivation de plusieurs boutons
    Bonjour à tous,

    Avez-vous une idée si il est possible de faire pointer un bouton vers un autre bouton afin qu'ils aient la même fonction/caractéristiques?

    Plus précisément, j'ai plusieurs boutons sur mon application qui font la même chose que les items dans mon "menubar", j'amerais que si on met un bouton hors fonction, l'item associé dans le menubar devient aussi hors fonction ou inversement. Cela permet d'éviter de répéter les activation/désactivation...


    Merci à l'avance pour l'aide, si vous avez besoin de précision, je vous écoute.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    C'est du Windows Forms je suppose ?

    Tu peux faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    button1.DataBindings.Add("Enabled", menuItem1, "Enabled");
    button2.DataBindings.Add("Enabled", menuItem2, "Enabled");
    // etc...

  3. #3
    Membre confirmé Avatar de hmimoud
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Par défaut
    Tu peux definir une fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void fonction(boolean b){
    button1.enabled=b;
    button2.enabled=b;
    ...
    }
    quand tu cliques sur le bouton de la barre, tu met dans l'evenement click:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    boolean bo=button.enabled;
    fonction(bo);
    A+

  4. #4
    Membre averti
    Homme Profil pro
    Ingenieur aut. & ctrl
    Inscrit en
    Janvier 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingenieur aut. & ctrl

    Informations forums :
    Inscription : Janvier 2011
    Messages : 13
    Par défaut
    Merci pour votre réponse rapide, malheureusement, ça ne fonctionne pas :

    Si :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    btnSorterProperties.DataBindings.Add("Enabled",mnuSorterNew,"Enabled")
    =>
    System.ArgumentException: This causes two bindings in the collection to bind to the same property.
    Et inversement (ce qui m'intéresse le plus),
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mnuSorterNew.DataBindings.Add("Enabled",btnSorterProperties,"Enabled")
    =>
    DataBinding n'est pas un élément de mnuSorterNew mais, il est un élément de la barMenu
    Avez-vous une solution pour cela ?
    Merci encore

  5. #5
    Membre confirmé Avatar de hmimoud
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Par défaut
    La solution, je l'ai déjà posté !

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    System.ArgumentException: This causes two bindings in the collection to bind to the same property.
    Tu as du te tromper quelque part et définir 2 fois le binding sur Enabled sur le même bouton... Je viens de tester et ça fonctionne bien, avec juste une petite modif :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    button1.DataBindings.Add("Enabled", menuItem1, "Enabled", false, DataSourceUpdateMode.OnPropertyChanged);
    (note les 2 paramètres supplémentaires)

    La 2e forme ne peut pas fonctionner car les menus n'ont pas de propriété DataBindings

    Par contre attention : selon que tu utilises des MenuItem ou des ToolStripMenuItem, le comportement n'est pas le même. Dans les 2 cas, le binding marche bien du bouton vers le menu, par contre dans le sens menu vers bouton, ça ne marche qu'avec les ToolStripMenuItem (parce que MenuItem ne déclenche pas de notification quand sa propriété Enabled est modifiée)

  7. #7
    Membre averti
    Homme Profil pro
    Ingenieur aut. & ctrl
    Inscrit en
    Janvier 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingenieur aut. & ctrl

    Informations forums :
    Inscription : Janvier 2011
    Messages : 13
    Par défaut
    Magnifique! avec ces deux solutions proposées, je vais pouvoir continuer mon chemin.

    Merci merci à vous d'eux pour l'aide.

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

Discussions similaires

  1. QPushButton : activer et désactiver plusieurs boutons
    Par walase dans le forum Débuter
    Réponses: 2
    Dernier message: 24/04/2014, 21h02
  2. Réponses: 11
    Dernier message: 19/11/2007, 21h17
  3. Réponses: 1
    Dernier message: 01/02/2007, 11h06
  4. [Win32] activer/désactiver un bouton
    Par gdpasmini dans le forum MFC
    Réponses: 2
    Dernier message: 07/06/2006, 19h10
  5. Bouton d'activation/désactivation de tooltips
    Par bigboomshakala dans le forum MFC
    Réponses: 2
    Dernier message: 26/04/2004, 09h54

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