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#] Tableau de Label


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 10
    Par défaut [Résolu] [C#] Tableau de Label
    Salut à tous

    je débute en C# et je n'arrive pas à faire un tableau de label pour créer des label dynamiquement .

    Pour le moment j'ai ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Label myLabel = new Label();
    myLabel.Text = "Label1";
    myLabel.Location = new System.Drawing.Point(0, 0);
    Controls.Add(myLabel);
     
    Label myLabel2 = new Label();
    myLabel2.Text = "Label2";
    myLabel2.Location = new System.Drawing.Point(0, 30);
    Controls.Add(myLabel2);
     
    Label myLabel3 = new Label();
    myLabel3.Text = "Label3";
    myLabel3.Location = new System.Drawing.Point(0, 60);
    Controls.Add(myLabel3);
    Ce que je souhaite c'est pouvoir faire un tableau de Label et le remplir avec une boucle mais ça ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Label[] myLabel;
    myLabel = null;
     
    for (int i=0; i <=3; i++)
    {
      try
      {
          myLabel[i] = new Label();
          myLabel[i].Text = "Labelx" + i.ToString();
          myLabel[i].Location = new System.Drawing.Point(0, 0+(i*30));
          Controls.Add(myLabel[i]);
       }catch{
          MessageBox.Show("erreur");
      }
    }
    Merci de votre aide.
    @+

  2. #2
    Membre expérimenté Avatar de del-dongo
    Inscrit en
    Mai 2003
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 147
    Par défaut
    peut tu juste nous indiquer pourquoi as tu besoin de créer un tableau de labels...? Ceci pourra nous aider pour t'orienter vers la bonne solution..

  3. #3
    SLE
    SLE est déconnecté
    Membre émérite Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Par défaut
    Salut,

    2 solutions :

    Soit tu connais la taille de ton tableau, dans ce cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monLabel = new Label[taille du tableau];
    sinon tu dois étendre ton tableau dynamiquement pour chaque ajout de label :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     
    monLabel = null;
     
    ...
    ...
    ...
     
    if(monLabel == null)
    {
       monLabel = new Label[1];
       monLabel[0] = "Label0";
    }
    else
    {
       Label[] tmp = new Label[monLabel.Length];
       monLabel.CopyTo(tmp,0); // Copie le premier tableau dans le temporaire
       monLabel = new Label[tmp.Length+1]; // tableau allongé de 1
       tmp.CopyTo(monLabel,0); // Recopie du temp dans le tableau allongé
       monLabel[monLabel.Length]="LabelX"; // affectation du dernier label du tableau
     
    }
    Voilà... J'ai tapé le code à la volée, j'ai pas testé... Mais ca devrait aller comme ça.

    @+

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 10
    Par défaut
    peut tu juste nous indiquer pourquoi as tu besoin de créer un tableau de labels...? Ceci pourra nous aider pour t'orienter vers la bonne solution..
    Je veux récupéré des données à partir d'un fichier et les afficher dans une fenêtre. le tableau me permettrai de faire une boucle.
    Y'a peut etre d'autre solution mais j'en vois pas :p.

    Salut,

    2 solutions :

    Soit tu connais la taille de ton tableau, dans ce cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monLabel = new Label[taille du tableau];
    Dans mon cas oui, je peux connaitre la taille du tableau.
    On a dire que j'ai besoin de 10 label.

    ça donnerai ça mais ça ne fonctionne toujours pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    				Label[] myLabel;
          		myLabel = new Label[10];
     
          		for (int i=0; i <=10; i++)
          		{
          			try
          			{
          				myLabel[i].Text = "Labelx" + i.ToString();
          				myLabel[i].Location = new System.Drawing.Point(0, 0+(i*10));
          				Controls.Add(myLabel[i]);
          			}catch{
          				MessageBox.Show("erreur");
          			}
     
          		}

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 10
    Par défaut
    Héhé en fait ça marche, merci SLE ! il fallait bien spécifier la taille sinon ç passe pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Label[] myLabel = new Label[10];
     
          		for (int i=0; i<=9; i++)
          		{
    			myLabel[i] = new Label();
          			myLabel[i].Text = "Label";
          			myLabel[i].Location = new System.Drawing.Point(0,(i*30));
          			Controls.Add(myLabel[i]);
          		}

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

Discussions similaires

  1. [Débutant] Tableau de Label
    Par dhanikenne dans le forum Windows Forms
    Réponses: 1
    Dernier message: 22/12/2013, 00h55
  2. [Débutant] Création d'un tableau de label
    Par Snowhite dans le forum C#
    Réponses: 5
    Dernier message: 13/06/2012, 15h06
  3. Tableau indice label
    Par nddvlp dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 30/12/2011, 15h46
  4. [VB.NET] Créer un tableau de labels
    Par GriffinK dans le forum VB.NET
    Réponses: 2
    Dernier message: 05/03/2008, 11h27
  5. Affichage d'un label en fonction d'un tableau bd
    Par oOoOuuhmAn dans le forum AWT/Swing
    Réponses: 14
    Dernier message: 02/03/2006, 16h00

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