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

Windows Forms Discussion :

Créer des noms de WinForm dans une structure de contrôle ?


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 4
    Points : 7
    Points
    7
    Par défaut Créer des noms de WinForm dans une structure de contrôle ?
    Bonjour

    J'ai longuement cherché sur ce forum et sur le net la réponse à ma question, mais je n'ai rien trouvé de concluant ou d'explicite.

    Pour simplifier :
    je souhaite que mon programme affiche du texte dans 30 labels, nommés LabelNom1 à LabelNom30. J'y arrive très bien avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    labelNom1.Text = "chaine 1";
    labelNom2.Text = "chaine 2";
    labelNom3.Text = "chaine 3";
    labelNom4.Text = "chaine 4";
    ...
    labelNom30.Text = "chaine 30";
    Mais dans les faits, ma table n'est pas fixée à 30 lignes. Ce nombre va fluctuer et parce que mon système est plus complexe, je souhaiterai faire un truc de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int i = 0;
    for (i=0; i<NbdeLignes; i++)
    {
    labelNom+i.Text = "chaine "+i.ToString();
    }
    Le débogueur m'indique que "labelNom" n'existe pas. Et pour cause, mes labels s'appelent LabelNom1 à LabelNom30.

    Existe t'il un moyen de faire comprendre à C# que le nom des labels varie selon la valeur de i ?


    Merci de votre aide.

  2. #2
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Tu peux accéder aux différents contrôles par leurs noms en passant par l'indexeur sur la collection de contrôles (propriété Controls en général)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (int i = 0; i < NbdeLignes; i++)
    {
       this.Controls["labelNom" + i].Text = "chaine " + i;
    }

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 4
    Points : 7
    Points
    7
    Par défaut
    ça fonctionne, merci

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

Discussions similaires

  1. [MySQL] Des noms de variables dans une boucle
    Par nicolas2603 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 25/08/2009, 14h51
  2. passer des nom de symbole dans une variable
    Par eveilside dans le forum Flash
    Réponses: 2
    Dernier message: 29/05/2009, 08h52
  3. Réponses: 4
    Dernier message: 26/03/2008, 09h43
  4. Récupérer des noms de fichiers dans une table ?
    Par florus dans le forum Access
    Réponses: 5
    Dernier message: 25/03/2006, 17h34

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