Etienne BAUDOUX

Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Etienne BAUDOUX

Forum sur les projets de Etienne BAUDOUX

Le Deal du moment : -21%
LEGO® Icons 10329 Les Plantes Miniatures, ...
Voir le deal
39.59 €

3 participants

    faire une boucle sur des objets [RESOLU]

    avatar
    Gixxie
    Nouveau
    Nouveau


    Masculin Nombre de messages : 41
    Date d'inscription : 16/05/2014

    faire une boucle sur des objets [RESOLU] Empty faire une boucle sur des objets [RESOLU]

    Message par Gixxie Sam 31 Mai 2014 - 10:19

    Bonjour,

    Encore une question !
    voilà le problème:
    J'ai une quinzaine d'étiquettes dont je voudrais changer la couleur suivant une condition.
    comme je suis feignant, je voudrais faire une boucle qui appelle les étiquettes une par une et fait le changement.

    par exemple
    pour N=1 à 15
    Me.label%(VARIABLE=N)%.BackColor = Variables.Fenêtre2.label4.BackColor

    au lieu de me peler tous les contrôles un par un:

    Me.label1.BackColor = Variables.Fenêtre2.label4.BackColor
    Me.label2.BackColor = Variables.Fenêtre2.label4.BackColor
    Me.label3.BackColor = Variables.Fenêtre2.label4.BackColor
    ...etc.

    bien sûr il me renvoie une erreur.
    On a peut-être pas le droit de mettre des variables textes à l'intérieur des noms d'objets?
    Si jamais c'est possible, quelle est le bon libellé où la bonne méthode?
    Je précise que je n'y connais rien en VB, mais vous l'aurez deviné vu ce genre de tâtonnements Smile
    merci de vos lumières


    Dernière édition par Gixxie le Sam 31 Mai 2014 - 19:25, édité 1 fois
    lereparateurdepc
    lereparateurdepc



    Masculin Nombre de messages : 5621
    Age : 31
    Localisation : Calvados
    Emploi/loisirs : Electrotechnicien / électricité, HAUTE TENSION, électronique, informatique, automatisme , Arduino, bref le BRICOLAGE , ...
    Humeur : toujours cool
    Date d'inscription : 31/01/2010

    faire une boucle sur des objets [RESOLU] Empty Re: faire une boucle sur des objets [RESOLU]

    Message par lereparateurdepc Sam 31 Mai 2014 - 11:08

    re,

    La couleur BackColor est-elle la même pour tous les label ?

    Cordialement,
    Le réparateur de PC
    avatar
    Gixxie
    Nouveau
    Nouveau


    Masculin Nombre de messages : 41
    Date d'inscription : 16/05/2014

    faire une boucle sur des objets [RESOLU] Empty Re: faire une boucle sur des objets [RESOLU]

    Message par Gixxie Sam 31 Mai 2014 - 11:40

    bjr,

    Non bien sûr  Cool 
    en fait je comptais mettre une condition aussi sur Variables.Fenêtre2.label4.BackColor
    quand on aime on ne compte pas !!
    lereparateurdepc
    lereparateurdepc



    Masculin Nombre de messages : 5621
    Age : 31
    Localisation : Calvados
    Emploi/loisirs : Electrotechnicien / électricité, HAUTE TENSION, électronique, informatique, automatisme , Arduino, bref le BRICOLAGE , ...
    Humeur : toujours cool
    Date d'inscription : 31/01/2010

    faire une boucle sur des objets [RESOLU] Empty Re: faire une boucle sur des objets [RESOLU]

    Message par lereparateurdepc Sam 31 Mai 2014 - 11:42

    re,

    Peux-tu réexpliquer plus en détails ce que tu souhaite faire car là je ne vois pas trop le truc .. Sad

    Cordialement,
    Le réparateur de PC
    avatar
    Gixxie
    Nouveau
    Nouveau


    Masculin Nombre de messages : 41
    Date d'inscription : 16/05/2014

    faire une boucle sur des objets [RESOLU] Empty Re: faire une boucle sur des objets [RESOLU]

    Message par Gixxie Sam 31 Mai 2014 - 12:48

    re,

    Je vais essayer d'expliquer dans le détail. voici la fenêtre:

    faire une boucle sur des objets [RESOLU] Belt10

    c'est pour un jeu, pas de panique Smile
    quand on appuie sur le bouton à gauche, cela doit modifier la couleur des étiquettes de la colonne d'étiquettes (référencé 13 étiquettes (car c'est le cas, on voit mal mais ce sont 13 étiquettes accolées)). appelons la colonne C.
    appelons colonne B la liste de grandes étiquettes du milieu avec les couleurs et les textes à l'intérieur.
    en fait imagine que l'on clique la première fois sur le troisième bouton en partant du haut.
    Alors la première étiquette de la colonne C doit prendre la couleur de la troisième étiquette de la colonne B (vert foncé)
    Puis quand on clique la deuxième fois (par exemple sur le bouton six) alors la deuxième étiquette de la colonne C doit prendre la couleur de la sixième étiquette de la colonne B (rouge)
    etc...
    quand on clique pour la N-ième fois sur le P-iéme bouton, alors la N-ième étiquette de la colonne C doit prendre la couleur de la P-ième étiquette de la colonne B

    il faut savoir aussi que à chaque fois que j'appuie sur un bouton cela ajoute un élément à la listbox à droite (cette liste va me servir pour plus tard)

    sur le screenshot, on a par exemple appuyé 2 fois sur le bouton 1, puis une fois sur le bouton 2, puis une fois sur le bouton 1.

    donc il me semblait que le plus simple était peut faire un incrément N
    N=1
    Je clique sur le bouton  numéro P
    ça récupère la couleur de l'étiquette numéro P de la colonne B
    Je copie cette couleur sur l'étiquette numéro N de la colonne C

    deuxième clic sur un bouton --> N=N+1, et on recommence.

    C'est pour ça que j'ai besoin de pouvoir sélectionner un objet (en l'occurrence une étiquette) avec un nom d'objets qui contient une part variable.
    un peu comme ça : Me.label%(VARIABLE=N)%.BackColor


    Voilà j'espère que je me suis bien expliqué, c'est un peu compliqué Smile
    Il y a peut-être moyen bien sûr de faire complètement différemment pour le même résultat. Je n'ai peut-être pas vu, je me suis un peu focalisé là-dessus

    c'est aussi parce que, bien que ce soit un cas particulier ici, j'ai déjà été confronté déjà plusieurs fois au besoin de faire des boucles avec des noms d'objets qui varieraient fonction de l'indice de la boucle, d'où ma question initiale.
    G
    lereparateurdepc
    lereparateurdepc



    Masculin Nombre de messages : 5621
    Age : 31
    Localisation : Calvados
    Emploi/loisirs : Electrotechnicien / électricité, HAUTE TENSION, électronique, informatique, automatisme , Arduino, bref le BRICOLAGE , ...
    Humeur : toujours cool
    Date d'inscription : 31/01/2010

    faire une boucle sur des objets [RESOLU] Empty Re: faire une boucle sur des objets [RESOLU]

    Message par lereparateurdepc Sam 31 Mai 2014 - 13:05

    re,

    En gros, les boutons et la description (col B) sont liés ?
    La colonne C est prédéfinie ? Les 13 labels sont bien déjà tous créés ?

    J'ai cherché un code qui liste tous les labels mais là ce n'est plus pareil .....

    Dans ton cas, remplace la colonne C par un ListBox.
    A chaque clic sur un des boutons, un incrémente de 1 une même variable.
    Ensuite, tu ajoute un élément à la ListBox à la position de ta variable d'incrémentation.

    EDIT : oublis :
    Tu crées une variable qui contiendra la couleur voulu.
    Tu met dans cette variable la couleur (attention pas simplement "Red" ou autre mais du code VB : System.Drawing.Color.Red) en question dans tous les boutons.

    Ex: Je clique sur le but1 : je fait +1 à la variable increm et je met la couleur voulu dans la variable couleur. J'ajoute ensuite l'item.

    EDIT2 mode gros boulet ....... Le BackColor d'un listbox est commun à tous les items .................. Je cherche autre chose désolé Sad

    Cordialement,
    Le réparateur de PC
    avatar
    Gixxie
    Nouveau
    Nouveau


    Masculin Nombre de messages : 41
    Date d'inscription : 16/05/2014

    faire une boucle sur des objets [RESOLU] Empty Re: faire une boucle sur des objets [RESOLU]

    Message par Gixxie Sam 31 Mai 2014 - 13:50

    lereparateurdepc a écrit:
    En gros, les boutons et la description (col B) sont liés ?
    oui
    La colonne C est prédéfinie ? Les 13 labels sont bien déjà tous créés ?
    oui ils sont créés.
    .........................

    ........................ Je cherche autre chose désolé Sad

    Cordialement,
    Le réparateur de PC
    re,

    j'en conclus donc que modifier les noms d'objets avec un truc du genre : Me.label%(VARIABLE=N)%.BackColor neva pas aller de toutes façons ?

    oui la listbox avait été mon premier essai.
    je pense à un truc, la couleur pourrait être celle du bouton (et non de l'étiquette colonne B). Il suffit de la définir en "background colour".comme il y a une image par dessus on s'en fout. Cela simplifierait déjà la récupération de la couleur car ce serait directement celle du bouton cliqué.
    Reste le problème de la sélection de l'étiquette de la colonne C... :

    N=1
    Je clique sur le bouton  numéro P
    ça récupère la couleur de l'étiquette numéro P du bouton de la colonne B
    Je copie cette couleur sur l'étiquette numéro N de la colonne C

    deuxième clic sur un bouton --> N=N+1, et on recommence.  

    Merci de ton temps, c'est sympa.
    G
    avatar
    Gixxie
    Nouveau
    Nouveau


    Masculin Nombre de messages : 41
    Date d'inscription : 16/05/2014

    faire une boucle sur des objets [RESOLU] Empty listbox

    Message par Gixxie Sam 31 Mai 2014 - 14:54

    re,

    à tout hasard.
    je viens de voir un truc dans les propriétés d'une listbox:
    drawmode --> ownerdrawvariable où l'utilisateur peindrait chaque élément...
    C'est bien, mais aucune idée comment ça marche Smile
    G
    avatar
    Gixxie
    Nouveau
    Nouveau


    Masculin Nombre de messages : 41
    Date d'inscription : 16/05/2014

    faire une boucle sur des objets [RESOLU] Empty une solution

    Message par Gixxie Sam 31 Mai 2014 - 17:22

    bonsoir,

    bon, j'ai finalement trouvé un truc qui marche.
    je crée une variable tableau avec la liste des couleurs des 13 étiquettes (un tableau d'objets en somme)
    Ensuite si je veux boucler sur les étiquettes il suffit de boucler sur leur index dans la variable.
    Bons évidemment il faut initialiser la variable tableau. mais bon, il suffit de le faire une fois...
    G
    polien
    polien



    Masculin Nombre de messages : 3002
    Age : 27
    Localisation : Bouches du Rhones
    Emploi/loisirs : velo, informatique, électronique, robotique, modélisme feroviaire
    Humeur : Je commence tout mais ne finit rien :P
    Date d'inscription : 19/05/2011

    faire une boucle sur des objets [RESOLU] Empty Re: faire une boucle sur des objets [RESOLU]

    Message par polien Sam 31 Mai 2014 - 17:34

    Bonsoir,

    Si ça marche, est ce que tu peut éditer ton premier sujet pour mettre [RESOLU] dans le titre stp Wink

    Contenu sponsorisé


    faire une boucle sur des objets [RESOLU] Empty Re: faire une boucle sur des objets [RESOLU]

    Message par Contenu sponsorisé


      La date/heure actuelle est Lun 20 Mai 2024 - 19:58