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 :

Multiple bouton acces au même sub


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 166
    Par défaut Multiple bouton acces au même sub
    Bonjour à tous,
    Je dois faire un pack de 40 boutons (2 packs de 20) et chacun des packs doit accédé à la même procédure sub en y injectant les mêmes type de données... j’espère être assez clair...
    J'ai déjà une solution du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            AddHandler Button1.Click, AddressOf getbuttondata
            AddHandler Button2.Click, AddressOf getbuttondata
            ....
            AddHandler Button20.Click, AddressOf getbuttondata
    J'aimerai savoir s'il n'existerai pas une autre solution ("à la" directcast ou CType avec une boucle...) afin de ne pas avoir à saisir les 40 lignes et éviter la lourdeur des modifs s'il y en a...
    Si vous avez une idée là-dessus, Merci
    J'utilise VB 2010 express.
    Patrick

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 700
    Par défaut
    Bonjour,
    une solution de boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            For Each ctrl As Control In Me.Controls.OfType(Of Button)()
                If ctrl.Name.StartsWith("Button") Then
                    AddHandler ctrl.Click, AddressOf getbuttondata
                End If
            Next
    Me peut être un autre conteneur que le formulaire tel un Panel...
    Le If est facultatif c'est un exemple pour affiner la sélection.

  3. #3
    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
    Bonjour

    Pourquoi ne pas utiliser une list of button

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private list1 As New List(Of Button)
     
     Private sub InitList()
        Dim mybutton As Button
      for i = 0 to 19 
       mybutton = new button
         with mybutton
           'ici tu definis ton bouton couleur,position ect
          end with
          list1.Add(mybutton)
          Me.Controls.Add(mybutton)
           AddHandler list1(iter).MouseClick, AddressOf getbuttondata
    end sub

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    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 198
    Par défaut
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    private sub getbuttondata(sender as object, e as system.eventargs)
       dim boutoncliqué = directcast(sender, button)
    end sub
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 166
    Par défaut
    Bonjour à tous,

    @Pol63, en effet, ton code va me permettre d'identifier le bouton clické (.name).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GetButname = DirectCast(sender, Button).Name
    @chrismonoye et @shayw, vos solutions vont me permettre d'éviter de me taper les 40 lignes de "AddHandler Button1.Click, AddressOf ...".
    De plus, je vais faire un xml de config afin de pouvoir écrire dans le buttonX.text, le label que je souhaite, son id, etc...
    Et ce bien evidement s'il y a des modif a apporter aux boutons, labels, name...

    Merci @tous.

    Patrick

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 23/10/2007, 10h03
  2. 2 boutons pour un même formulaire ?
    Par Lolie11 dans le forum Langage
    Réponses: 10
    Dernier message: 31/05/2007, 15h01
  3. deux bouton submit dans même formulaire
    Par sansouna24 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/05/2006, 11h03
  4. [VB] multiplication bouton de commande
    Par Le Rebel dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 09/05/2006, 19h50
  5. Multiple bouton parcourir
    Par flambo88 dans le forum Langage
    Réponses: 2
    Dernier message: 09/12/2005, 16h55

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