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 :

[C#] Comment accéder à un contrôle par son nom ?


Sujet :

Windows Forms

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

    Informations forums :
    Inscription : Mai 2010
    Messages : 6
    Points : 5
    Points
    5
    Par défaut [C#] Comment accéder à un contrôle par son nom ?
    Bonjour a tous, je me retrouve a faire un programme dont le visuel contient énormément de labels.
    J'aimerai inclure une seule et même action dans une boucle parcourant plusieurs labels.
    Voici un exemple que j'ai trouvé sur le net mais qui ne marche pas:

    Mes labels s'appellent lbl1, lbl2....et j'en ai 31.

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (int i = 1; i < 31; i++)
                  {
                    Controls["lbl" + i.ToString()].Text = "toto";  
                  }

    L'erreur affichée me dit que "lbl" + i.ToString() doit etre de type entier et non pas chaine.

  2. #2
    Membre expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Points : 3 015
    Points
    3 015
    Par défaut
    Tu développes en Windows Form ou WPF ? Il y a des forums dédiés (voir liens que j'ai mis pour les messages que tu seras amené à faire )

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

    Informations forums :
    Inscription : Mai 2010
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Bonjour, en Windows Form

  4. #4
    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
    Pourrais-tu indiquer la version du framework que tu utilises ? Car l'indexeur de la classe ControlCollection (this.Controls) autorise l'utilisation d'une chaîne depuis la version 2.0 du framework.

    Vu l'erreur on pourrait supposer que tu utilises la version 1.0 ou 1.1 du framework. Auquel cas tu seras obligé de boucler sur les contrôles.
    Pas de questions techniques par MP

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Bonjour, problème résolu, n'étant pas sur 2.0 j'ai du boucler sur mes controls a l'aide d'un foreach a l'intérieur de ma boucle for, puis vérifié le nom du control grâce a la concaténation de "lbl" + index.

    Merci de votre aide ! A très bientôt je pense

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/09/2009, 10h35
  2. [D7] Comment accéder à une Form depuis son nom ?
    Par dacid dans le forum Langage
    Réponses: 7
    Dernier message: 17/12/2007, 08h52
  3. Accéder à une propriété par son nom
    Par Neilos dans le forum C++Builder
    Réponses: 5
    Dernier message: 22/09/2005, 21h34

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