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 :

Concatenation d'un Label avec une variable


Sujet :

VB.NET

  1. #1
    Membre confirmé Avatar de kohsaka
    Homme Profil pro
    Intégrateur HTML / Developpeur .NET
    Inscrit en
    Janvier 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur HTML / Developpeur .NET

    Informations forums :
    Inscription : Janvier 2007
    Messages : 383
    Points : 469
    Points
    469
    Par défaut Concatenation d'un Label avec une variable
    bonjour,

    pour mettre en place mon calendrier j'ai besoin de parcourir plusieurs labels, qui se nomme tous "label" suivis de leurs numeros

    exemple : label1, label2, label3 ...

    j'aimerais donc utiliser une boucle qui me permet de rentrer une valeur dans ces differents labels.

    voici l'idée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    For i = 1 To nbrejours
     
      Label1.Text = i 'j'aimerais remplacer 1 par i
     
    Next
    merci

  2. #2
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    C'est presque infaisable !

    Mais possible en créant tes labels par le code. J'ai deja fais ca et c'est chiant car il faut définir la location et la size de chaque labels

    Voici une ebauche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
       Private Sub Label(ByVal max As Integer)
            Dim Lab As Label
            For i As Integer = 0 To max
                Lab = New Label 'création d'un label
                Lab.Name = "label" & i.ToString 'nom personnalisé
                Lab.Text = "ton texte" 'texte du label
                Lab.Size = New Size(10, 30) 'taille de tes labels
                Lab.Location = New Point(20, 30) 'location de tes labels sur la form
            Next
        End Sub
    Good luck

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    le plus simple aurait été de créer des label indexés
    donc par code je pense
    type dim LBL() as label

    puis LBL(i) = new label
    me.controls.Add LBL(i)
    faire un peu de code pour le placer sur la feuille
    etc...

  4. #4
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Points : 1 281
    Points
    1 281
    Par défaut
    nan c'est pas ca qu'il faut faire, y'a plus simple :
    Imagine que tes label soit un panel nommé "monPanel"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    i=1
    For Each bidule in monPanel.Controls
      If TypeOf bidule is label Then
        bidule.Text = i.tostring
      Endif
    i += 1
    Next bidule

  5. #5
    Membre confirmé Avatar de kohsaka
    Homme Profil pro
    Intégrateur HTML / Developpeur .NET
    Inscrit en
    Janvier 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur HTML / Developpeur .NET

    Informations forums :
    Inscription : Janvier 2007
    Messages : 383
    Points : 469
    Points
    469
    Par défaut
    Merci à vous pour vos reponses

    HULK j'imagine ce que tu as voulu faire mais j'ai du mal à visualiser ce qu'est "bidule"

    si j'ai bien compris ta solution, je dois créer un panel qui regroupe tous les labels ?

    edit : j'ai réussi à appliquer ta technique, cependant cela ne marche que si les label sont directement dans ce panel or chaque label se trouve lui meme dans un "sous panel"

    voila la situation en image

  6. #6
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Points : 1 281
    Points
    1 281
    Par défaut
    si tu veux mais tu as pas besoin de les mettre dans un label, c'etait pour l'exemple, tu peux faire ca si tu veux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    i=1
    For Each bidule as CONTROL in me.Controls
      If TypeOf bidule is label Then
        bidule.Text = i.tostring
      Endif
    i += 1
    Next bidule
    Désolé j'avais oublié un truc. Bidule c'est un control (label, bouton ...) qui est présent dans ta form. Mais comme tu veux que les label, on rajoute la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If TypeOf bidule is label Then
    Mais si tout tes label sont dans un panel ou un groupbox par exemple, au lieur de parcourir tout les control de ta form, bah tu parcours que les control de ton panel ou groupbox.

    Voila un lien ou c'est expliqué : Cours VB.NET, en particulier : Cours complet pour apprendre VB.NET par Philippe Lasserre

  7. #7
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    ce que dit hulk est valable aussi avec for each ctrl in me
    avec un if ctrl.gettype=gettype(label)

    mais le gros probleme c'est qu'on ne controle pas l'ordre de traitement des labels ...

  8. #8
    Membre confirmé Avatar de kohsaka
    Homme Profil pro
    Intégrateur HTML / Developpeur .NET
    Inscrit en
    Janvier 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur HTML / Developpeur .NET

    Informations forums :
    Inscription : Janvier 2007
    Messages : 383
    Points : 469
    Points
    469
    Par défaut
    je me suis repenché sur le code le tems que vous repondiez et j'ai finalement reussi a faire ce que je voulais :

    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
     
    dim bidule
    dim truc
     
    i = 1
            For Each truc In panelgeneral.Controls
                If TypeOf truc Is BlueActivity.Controls.AlphaGradientPanel Then
                    For Each bidule In truc.Controls
                        If TypeOf bidule Is Label Then
                            bidule.Text = i.ToString
                        End If
                        i += 1
                    Next bidule
                End If
            Next truc

    merci pour votre aide

  9. #9
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Ah oui y'avais carrement des sous panels dans le panel !

    Ok ^^

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 25/06/2005, 12h35
  2. [MFC] label avec une police qui s'ajuste
    Par romeo9423 dans le forum MFC
    Réponses: 7
    Dernier message: 15/03/2005, 15h27
  3. Réponses: 2
    Dernier message: 14/05/2004, 15h32
  4. Comparaison d'un registre 8 bits avec une variable 32 bits
    Par tupperware dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 15/10/2002, 11h25
  5. Désigner une variable avec une variable?
    Par littleman dans le forum Paradox
    Réponses: 4
    Dernier message: 12/08/2002, 12h21

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