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 :

Label derrière une variable


Sujet :

VB.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 44
    Par défaut Label derrière une variable
    Bobnjour

    comment mètre un chiffre devant un LABEL
    je m'explique mieux
    ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    dim compteur1 as integer = "1" 
    dim compteur as integer = "2" 
     
    label(1).text = "ok"
    abel(2).text = "ok"
    bien entendu ca ne fonctionne pas .

    Mon but c'est de faire une boucle , qui prend mon nom de label avec le bon chiffre qui va derriere pour eviter de marquer 20 ligne de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    label1.text = "ok" 
    label2.texr = "ok" 
    '....
    Esse possible ou pas ???

    Cordialement
    Merci

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    Citation Envoyé par Fabdunet13 Voir le message
    Esse possible
    Je l'avais jamais vu celle là encore, c'est en quelle langue ?

    le mieux est de créer tes labels par code plutot que de les poser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private _labels as new list(of label)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for i as integer = 0 to 19
       dim l as new label
       labels.add(l)
       uncontainer.controls.add(l)
    next
    si tu veux une clé autre qu'un auto incrément qui part de 0 tu peux utiliser le dictionary au lieu du list
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 44
    Par défaut
    Citation Envoyé par Pol63 Voir le message

    For i As Integer = 0 To 19
    Dim l As New Label
    labels.Add(l)
    uncontainer.controls.add(l)

    Next

    labels(0).Text = "ok"
    labels(1).Text = "ERROR"
    End Sub

    ça ne fonctionne pas , ça bloque a cette ligne : uncontainer.controls.add(l)

    Erreur 1 'uncontainer' n'est pas déclaré. Il peut être inaccessible en raison de son niveau de protection. C:\Documents and Settings\TICE\Local Settings\Application Data\Temporary Projects\WindowsApplication1\Form1.vb 8 13 WindowsApplication1

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 44
    Par défaut
    pour faire simple , je voudrais faire ça .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        For i As Integer = 0 To 19
                Label(i).text = i
            Next
        End Sub
    plus tard le Label(i).text = i , le i , serra un tableau

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    Citation Envoyé par Fabdunet13 Voir le message
    ça ne fonctionne pas , ça bloque a cette ligne : uncontainer.controls.add(l)
    uncontainer est à remplacer par le parent de vos label
    je n'ai pas expliqué le placement non plus

    voici le lien vers un cours : http://plasserre.developpez.com/cours/vb-net/
    parce que faire du copier coller sans comprendre ce qu'on vous dit ne sert à rien

    sinon il y a aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lecontainer.controls(nom du controle).text
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 44
    Par défaut
    Malheureusement , je suis débutant , je connais pas tout .
    j'apprend ce que j'ai besoins d'utiliser pour mon travail .


    Bonjour fabien , je te fait une Traduction de ce qu'il t'a écrit :

    //Je déclare un objet de type List que je nomme _labels et qui ne peux contenir que des Label
    private _labels as new list(of label)

    //Je boucle de 0 à 19
    for i as integer = 0 to 19

    //Je déclare un nouvel object Label que je nomme l
    dim l as new label
    //J'ajoute le Label que je viens de crée à la liste de Label que j'ai déclarer au dessus
    _labels.add(l)
    //J'ajoute le Label à la liste de Control de Me donc dans ton cas la Forms
    me.controls.add(l)

    next
    mais je ne comprend pas , et je n'arrive toujours pas a mon résultats.

    Pas facile pour moi de comprendre quelque chose dont je ne merise pas !! !

  7. #7
    Membre Expert Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Par défaut
    Citation Envoyé par Fabdunet13 Voir le message
    Pas facile pour moi de comprendre quelque chose dont je ne merise pas !! !
    Merise c'est encore autre chose ... (Private Joke )

    En étant plus sérieux, si tu es amené à taper du code, mieux vaut en comprendre les notions, parce que en copiant/collant des scripts, tu vas t'arracher les cheveux parce que ca marchera 1x sur 1000.
    Alors prend du temps sur toi et apprend via le lien que Pol63 t'a donné, c'est un très bon cours et tu coderas plus vite et (un peu ) plus sereinement.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 44
    Par défaut
    Bonjour
    Trop dur pour moi , je laisse tomber .
    Merci de l'aide en tout cas
    Merci

  9. #9
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Bonjour,

    Ne vous découragez pas
    La méthode de Pol63 est très bien, il suffisait le positionner le label et mettre me pour la fenêtre.

    Mais nous allons essayer une autre méthode avec un dictionnaire (qui est aussi une liste)

    Pour les explications voir les commentaires qui détailles

    Etape 1 : Création d'un dictionnaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        ' définition d'une variable qui contiendra la liste des label dans un dictionnaire, et création du dictionnaire
        ' Ce dictionnaire se présente sous la forme d'une paire clé et valeur ou la clé est de type entier, et la valeur un label.
        Private DicoLabel As Dictionary(Of Integer, Label) = New Dictionary(Of Integer, Label)
    Etape 2 : création des labels (nom, texte, position), ajout au dictionnaire et à la fenêtre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        Sub CreLabel()
            Dim lbl As Label ' une variable de type label pour créer les label et les ajouter au dictionnaire
            For i As Integer = 1 To 20
                lbl = New Label                 ' création d'un nouveau label
                lbl.Name = "label" & i.ToString ' donne un nom au label
                lbl.Text = "label" & i.ToString ' le texte affiché dans le label
                lbl.Left = 20                   ' sa position à gauche de la fenêtre
                lbl.Top = (i * 25) + 50         ' la position haute du label, on décale le nouveau label vers le bas en fonction de i pour qu'il soit visible
                lbl.Width = 200                 ' une longueur assez grande pour afficher du texte
                DicoLabel.Add(i, lbl)           ' ajout du label dans le dictionnaire
                Me.Controls.Add(lbl)            ' ajout du label à la liste des contrôles de la fenêtre (Me représente la form)
            Next
        End Sub
    Cette procédure est appelé dans le load de ta fenêtre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Private Sub frmManipLabel_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            CreLabel() 'appel à la procédure de création des labels
        End Sub
    Note : J'ai appelé ma fenêtre "frmManipLabel" (pour vous ce sera dans Form1_Load ou le nom que vous lui avez donné)

    Etape 3 : Modification du texte du label N°5 (dans un bouton)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            DicoLabel(5).Text = "Nouveau texte du label (label N°5)" ' change le texte du label N°5
            ' DicoLabel(5) renvoi un label, on peut donc utiliser les propriétés du label pour le manipuler
        End Sub
    Etape 4 : pour aller plus loin et continuer à apprendre, placer un controle ListeBox avec comme item les numéros de 1 à 20 et un TextBox pour la saisie de texte. Quand l'utilisateur clique sur le bouton, placer le texte saisie dans le TextBox dans le label dont le numéro est sélectioné dans la ListeBox.

    Ensuite essayez de le faire avec la "List" proposé par Pol63.
    A+, Hervé.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

Discussions similaires

  1. Insérer des caractères spéciaux dans le label d'une variable
    Par Fabien G. dans le forum ODS et reporting
    Réponses: 6
    Dernier message: 09/04/2013, 15h47
  2. graphe à bulle avec label d'une autre variable
    Par philebaucis dans le forum ODS et reporting
    Réponses: 1
    Dernier message: 15/06/2009, 22h52
  3. [E-07] Modifier des Label en fonction d'une variable
    Par DarkGenius dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/12/2008, 18h44
  4. Concatenation d'un Label avec une variable
    Par kohsaka dans le forum VB.NET
    Réponses: 8
    Dernier message: 29/05/2007, 12h17
  5. Affichage d'une variable dans un label
    Par Rydley dans le forum Windows Forms
    Réponses: 5
    Dernier message: 14/03/2007, 19h14

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