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

C# Discussion :

Récupérer la liste des composants d'un élément


Sujet :

C#

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Récupérer la liste des composants d'un élément
    Bonjour à tous, je vous expose ce que je souhaiterais réussir à faire :

    Mettons que je crée un Form (ou un Panel) dans lequel j'ajoute des boutons, des labels, etc.

    Je souhaite pouvoir récupérer la liste de ces composants (sous la forme d'une liste d'objets dont je test le type dans une boucle).

    Voilà, c'est pas plus compliqué que ça, à part que je ne trouve pas de fonction membre adaptée dans les classes Form, Panel, où d'autres dont elles héritent.

    Si quelqu'un connait cette méthode, ou a une autre idée, je suis preneur. Merci d'avance.

  2. #2
    Membre actif Avatar de el_pedro
    Homme Profil pro
    Inscrit en
    Août 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 200
    Points : 236
    Points
    236
    Par défaut
    Salut.

    Tu ne veux donc que récupérer la liste des boutons, panel, labal, ... contenus dans une form, un panel, ...

    Regarde la propriété Controls (maForm.Controls) de tes composants, elle te renvoi les controls contenu directement dans le control courant. Par contre, si tu à ta form qui contient un panel, qui contient lui-même des boutons, si tu fais un maForm.Controls, tu ne récupèrera que le panel, tu dois parcourir tes controls pour tout récupérer.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Merci el_pedro, j'ai trouvé mon bonheur effectivement, sous la forme (pour les boutons par exemple):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    private ArrayList listButtons;
     
            private void getListButtons()
            {
                listButtons = new ArrayList();
                foreach (object o in this.Controls)
                {
                    if (o is Button)
                    {
                        listButtons.Add(o);
                    }
                }
            }

  4. #4
    Membre éprouvé Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Points : 1 108
    Points
    1 108
    Par défaut
    Citation Envoyé par el_pedro Voir le message
    Salut.

    Tu ne veux donc que récupérer la liste des boutons, panel, labal, ... contenus dans une form, un panel, ...

    Regarde la propriété Controls (maForm.Controls) de tes composants, elle te renvoi les controls contenu directement dans le control courant. Par contre, si tu à ta form qui contient un panel, qui contient lui-même des boutons, si tu fais un maForm.Controls, tu ne récupèrera que le panel, tu dois parcourir tes controls pour tout récupérer.

    Et une petite méthode récursive pour descendre dans tous les controls ....
    En informatique, le problème se situe toujours entre le clavier et l'écran !
    Il y a deux chemins entre le clavier et l'écran : Par l'UC et par l'utilisateur.

  5. #5
    Membre actif Avatar de el_pedro
    Homme Profil pro
    Inscrit en
    Août 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 200
    Points : 236
    Points
    236
    Par défaut
    Ce que j'allais proposer ensuite s'il voulait récupérer toute l'arborescence des controls, mais apparemment, les controls directs lui suffisent... pas d'arborescence.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/08/2013, 15h13
  2. récupérer la liste des noms des champs d'une table
    Par la_didise dans le forum Access
    Réponses: 2
    Dernier message: 29/05/2006, 16h55
  3. Comment récupérer la liste des contacts de outlook express?
    Par arnaud_verlaine dans le forum Outlook Express / Windows Mail
    Réponses: 6
    Dernier message: 12/10/2004, 15h53
  4. Comment récupérer la liste des logiciels installés sur une machine ?
    Par david_chardonnet dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 19/09/2003, 17h41
  5. Récupèrer la liste des disques durs
    Par Tililian dans le forum C++Builder
    Réponses: 4
    Dernier message: 19/06/2003, 12h42

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