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 :

modifier plusieurs label à la fois


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 10
    Points : 6
    Points
    6
    Par défaut modifier plusieurs label à la fois
    salut

    Disons que j'ai x labels, je veux tous les changer à l'aide d'une boucle, comment je peux faire ? Quelques choses comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i = 0 to x
    label(i).text = "*"
    next
    mais ça marche pas !!

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    ils ont été créé comment tes labels ? un groupe de contrôles ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par bbil Voir le message
    ils ont été créé comment tes labels ? un groupe de contrôles ?
    non..
    Disons que j'ai un mot et je veux afficher chaque lettre dans une label..
    Presque comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    X = ListBox1.SelectedItem.ToString.Length
     
    For i=1 to x
    Label(i).text ="lettre"
    next

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    pour faire ce que tu désire en VB6 .. ( et pas VBA ..) il faut faire un groupe de contrôle...

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par bbil Voir le message
    pour faire ce que tu désire en VB6 .. ( et pas VBA ..) il faut faire un groupe de contrôle...
    mmmm Interessant
    merci bro

  6. #6
    Futur Membre du Club
    Inscrit en
    Mars 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par bbil Voir le message
    pour faire ce que tu désire en VB6 .. ( et pas VBA ..) il faut faire un groupe de contrôle...
    et en vb.net ?

  7. #7
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Citation Envoyé par mr 3a Voir le message
    et en vb.net ?
    en vb.net, tu peux initialiser un tableau de labels contenant tes labels. Dans ce cas, tu passeras par la référence de ton label en appelant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Dim label as label(10) ' me rappelle plus de la syntaxe en vb
     
    label(0) = monlabel1
    label(1) = labeltoto
    label(2) = labeltiti
     
    for i = 0 to x
      label(i).text = "*"
    next
    après, si tu dois le faire pour une ou deux boucles, l'interet est faible

  8. #8
    Futur Membre du Club
    Inscrit en
    Mars 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Ça a presque marché
    Je l'ai fait comme ça et ça me donne pas d'erreur..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim label(18) As Label
            For i = 1 To 18
                label(i).Text = "*"
            Next
    Mais quand j'exécute, ça marche pas et une fenêtre m'apparait :


  9. #9
    Membre expérimenté Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Points : 1 455
    Points
    1 455
    Par défaut
    Essaye avec sa plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    'Reservation de l'espace pour les labels
    Dim label (18) as label
     
    for i = 0 to 18
      'Création du label
      label(i) = new label
      'Ajout d'une valeur dans sont champ texte
      label(i).text = "*"
    next
    Cordialement,


    Mettez des commentaires, sa aide a la re-lecture

  10. #10
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    euh....

    si tu n'affectes rien dans ton tableau, tu penses que ca pointer sur quoi ?




    Tu viens de réserver de l'espace pour 18 label, et la, tu as un jolie tableau de 18 label nuls

    ensuite, si tu commence ta boucle for a 0, c'est quand même mieux

  11. #11
    Futur Membre du Club
    Inscrit en
    Mars 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    ça marche, mais ça ne fait le travail..

    mon probleme c'est que j'ai 30 label dans l'interface, je vais simplifier en disant que quand je donne un numero x, alors x label doivent changer en "*".

    C'est la prmiere fois que j'utilise un tableau avec des label, le probleme c'est que cette methode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim label (18) as label
     
    for i = 0 to 18
        label(i) = new label
        label(i).text = "*"
    next
    enregistre les données dans le tableau, mais elle ne les affiche pas dans les label,

    disons que quand j'ecris label1.text ="**" label change, mais quand j'ecris label(1).text ="**" la colonne 1 du tableau change et pas label .

  12. #12
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    isons que quand j'ecris label1.text ="**" label change, mais quand j'ecris label(1).text ="**" la colonne 1 du tableau change et pas label .
    normal, tu as mis un nouveau label dans ton tableau, et pas une référence sur label1

    Comme je te disais 5 posts au-dessus, il faut que tu fasse :

    Dim label (18) as label

    label(1)=label1
    label(2)=label2
    ...

    for i = 0 to 18
    label(i) = new label
    label(i).text = "*"
    next
    évidemment, le but est de définir ton tableau de label à un seul endroit

  13. #13
    Futur Membre du Club
    Inscrit en
    Mars 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Philippe Vialatte Voir le message
    normal, tu as mis un nouveau label dans ton évidemment, le but est de définir ton tableau de label à un seul endroit
    ça marche,, merci bro

  14. #14
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Bonjour,
    Sinon il suffit de grouper les labels dans un container, et d'énumérer tout les controles de ce contener, on vérifie que c'est un label, on le cast et le tour est jouer, un peu comme dans cette discussion.
    Je pense que c'est la méthode la plus simple.
    On peux même sélectionner une parie des label en faisant en test sur le nom, genre si le nom commence par "LabAModif" faire ... En prenant soint de bien nommer les label que l'on veux changer LabAModifNom, LabAModifPrenom, LabAModifAge.

    J'utilise cette technique régulièrement pour réinitialiser les champs de mes interfaces.

  15. #15
    Membre expérimenté Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Points : 1 455
    Points
    1 455
    Par défaut
    Dim label (18) as label

    label(1)=label1
    label(2)=label2

    ...

    for i = 0 to 18
    label(i) = new label
    label(i).text = "*"
    next
    je ne suis pas sur qu'il soit nécessaire de mettre "label(i) = new label"

    puisque juste au dessus tu fait déja
    "label(1)=label1
    label(2)=label2
    "

    //////////////////////////////////////////////////////////////////////////////////////////////////////////
    par contre je remarque que tu veut travailler sur tes 30 labels
    alors je te conseil effectivement de créer un tableau de 30 labels
    mais plutôt que de créer 30 labels manuellement

    tu devrais plutôt ajouter les 30 labels qui proviennent de ton code
    c'est assé simple en plus, regarde:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    'Positionnement du label
    label(i).Location = New System.Drawing.Point( X, Y) 
    'avec X -> coordonnées horizontales
    '  et Y -> coordonnées verticales
     
    'ajout du label sur le formulaire
    MonFromulaire.Controls.Add(label(i))
    et un simple label crée par le code, devient réel *si on peut dire* et va apparaitre sur ton formulaire

    Intérêts:
    • sa t'évitera de faire:
      label(1) = label1
      label(2) = label2
      ...
      label(30) = label30
    • tu aurra une gestion compléte de tes lables

    aprés a toi de faire deux boucles For pour que tes labels se placent tous seule

    PS: si sa fait trop d'un coup hésite pas me demander des détails

  16. #16
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Citation Envoyé par hunteshiva Voir le message
    je ne suis pas sur qu'il soit nécessaire de mettre "label(i) = new label"
    bien vu, erreur de copier-coller

  17. #17
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Pour ceux que ca intéresse, une autre solution a été présentée dans ce post

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

Discussions similaires

  1. Comment modifier plusieur page en 1 fois?
    Par matt059 dans le forum Général Conception Web
    Réponses: 9
    Dernier message: 28/01/2011, 21h41
  2. [AC-2007] Afficher/Modifier plusieurs tables à la fois?
    Par Norin dans le forum IHM
    Réponses: 0
    Dernier message: 04/07/2010, 03h02
  3. [MySQL] Modifier plusieurs enregistrements en une seule fois
    Par ClaudeP dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 16/05/2007, 23h07
  4. [C#] Modifier plusieurs controles "Label"
    Par imer33 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 31/10/2006, 21h53
  5. Logiciel modifiant plusieurs .htm en une seule fois
    Par jorisvh dans le forum Autres
    Réponses: 4
    Dernier message: 21/10/2006, 20h48

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