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

 .NET Discussion :

Acceder a un objet par une variable


Sujet :

.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Par défaut Acceder a un objet par une variable
    Bonjour, je voudrais savoir si il était possible d'acceder a un objet, un label par exemple par le biais d'une varible.

    je m'explique, j'ai 37 Labels sur ma form1 (sensé représenter un calendrier), le 1er du mois n'est pas forcément un lundi, comme pour juin c'est un mercredi donc le 1er est a inscrire dans mon Label3.text, est il possible par code de définir le nom de mon label suivant dans une variable pour que le programme complete le reste en automatique et le pas avoir a tout entrer manuelement du genre Label3.text = "1" : label4.text = "2"

    peut on faire quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim n as integer = 4
    Label(n).text = ...
    n += 1
    ?

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Par défaut
    Quelque chose du genre:

    désolé si erreurs c'est codé directement dans la réponse:

    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 labelList as new list(of string)
     
    'Quelque part dans ton code (init)
    labelList.add(label1);
    labelList.add(label2);
    labelList.add(label3);
     
     
    ' ta routine de modif de label
    private sub ChangeLabelsText(labelText as string)
      for each oLabel as label in labelList
        oLabel.text = labelText
      next
    end sub

    Sinon autre chose, NOMME TES VARIABLES, ainsi que tes contrôles, label1,form1 etc...

    Ce ne sont pas des noms pour un programme, demain tu comprendra plus rien a ton code si tu travaille sans nommage.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Par défaut
    Merci pour ta réponse, ce n'était pas éxactement ce que je cherchais mais j'ai tout de meme réussi à faire ce que je voulais grace a ta méthode.

    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
    23
    24
    25
            Dim tmp As Integer = 1 'compteur pour boucle
            Dim X As Integer = 1 ' nombre du jour
     
            If jour = "lundi" Then
                For Each oLabel As Label In LabelList
                    If verif_date(X, mois, annee) Then oLabel.Text = X
                    If Not verif_date(X, mois, annee) Then oLabel.Text = ""
                    X += 1
                    tmp += 1
                Next
            End If
     
            If jour = "mardi" Then
                    For Each oLabel As Label In LabelList
                    If tmp >= 2 Then
                        If verif_date(X, mois, annee) Then oLabel.Text = X
                        If Not verif_date(X, mois, annee) Then oLabel.Text = ""
                        X += 1
                    End If
     
                    If tmp < 2 Then oLabel.Text = ""
                    tmp += 1
     
                Next
            End If
    ...

    ca marche comme ca.

    Merci

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut
    Une autre solution que de créer une liste avec les labels
    C'est de part courir les controles de la form ou du control contenant tes labels

    Par exemple :
    grid.Children (si tout tes controls sont dans une meme grid)
    this.Controls (si tu es sur la form)

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Par défaut
    Merci pour les réponses. maintenant que ca fonctione comme je voulais je suis face à un autre problème, tres con et qui n'a rien a voir avec tout ca.

    Je n'arrive pas à changer la couleur de fond de mes labels.
    j'aimerais que dans le remplissage des labels.text si un fichier est trouvé pour une date précise le label en question ai un fond rouge ...

    Le répérage des fichiers c'est tout bon parcontre changer la couleur ...

    Pour moi le plus évident était : Me.C19.BackColor = Color.Red , mais ca ne fonctione pas, apres avoir un peu chercher sur divers forums tout le monde fait de la meme facon et pour eux ca marche ...

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Par défaut
    Oui c'est comme ca qu'on fait.

    Donc ton problème est ailleurs.

    Faudrait donner + de code pour qu'on puisse t'aider

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

Discussions similaires

  1. Alimentation d'un objet par une variable string
    Par Harry Covair dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/08/2013, 00h47
  2. Création d'un objet par une variable?
    Par MiniDevZ dans le forum Débuter avec Java
    Réponses: 12
    Dernier message: 07/02/2012, 11h25
  3. Réponses: 2
    Dernier message: 15/05/2008, 16h47
  4. Classe d'un Objet défini par une variable
    Par tatouille dans le forum VB.NET
    Réponses: 4
    Dernier message: 12/06/2007, 13h38
  5. [VB6] Liberer la memoire utilisée par une variable Objet
    Par ProgElecT dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 25/08/2006, 19h17

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