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 :

Selectionner un objet par son nom


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 43
    Par défaut Selectionner un objet par son nom
    Bonjour

    Petit probleme: J'ai disons 5 objets du type checkbox
    On les appelera Ch1,Ch2,Ch3...
    je souhaite avec une boucle, initialiser ces 5 objets.
    For i=1 to 5
    Dim ch as object
    ch="ch"+trim(i.tostring)
    ch.text="blabla"
    next

    Il est évident que cela ne marche pas comme ca mais je ne trouve pas de solution pour initialiser les données via une boucle.

    Merci

    cricri

  2. #2
    Membre expérimenté
    Avatar de (Benoit)
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 184
    Par défaut
    Le mieux est de ne pas nommer tes checkboc ch1, ch2.. mais plutôt de tous les appeller ch pour créer un tableau d'objet, qui auront alors une propriété Index de 1 à 5 (ou de 0 à 4, je sais plus). Tu peux ensuite parcourir ce tableau d'objet avec un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 1 to Ubound(ch) 
     ch(i).text = "checkbox " + i
    Next i

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 43
    Par défaut
    Hello benoit,

    merci pour ta réponse.
    En effet sous VB6 on peut créer une collection d'objet.
    Sous VB .net ca n'est plus possible...A moins qu'il y ait une astuce que je ne connaisse pas ou alors il faut créer les objets dynamiquement?

  4. #4
    Membre averti Avatar de eikeshi
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 73
    Par défaut
    Citation Envoyé par cricrides Voir le message
    Hello benoit,

    merci pour ta réponse.
    En effet sous VB6 on peut créer une collection d'objet.
    Sous VB .net ca n'est plus possible...A moins qu'il y ait une astuce que je ne connaisse pas ou alors il faut créer les objets dynamiquement?
    Salut, tu peux mettre tes CheckBox dans un Panel 'invisible' par exemple puis faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For Each CB As Control in Panel1.Controls
        If TypeOf (CB)= ChecktBox then   
            'code à saisir
        End if
    Next

  5. #5
    Membre averti Avatar de eikeshi
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 73
    Par défaut
    Je me suis trompé dans la syntaxe, c'est plutôt comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For Each CB As Control In Panel1.Controls
           If TypeOf (CB) Is CheckBox Then
               'TON CODE
           End If
    Next
    Tu peux aussi faire comme ça si tu veux garder le nom de tes checkbox numérotée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim i As Integer
    For i = 1 To 5
           Panel1.Controls("CheckBox" + CStr(i)).Text = "TON TEXTE"
    Next

Discussions similaires

  1. [XL-2013] selectionner une feuille par son nom
    Par sharox dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/01/2014, 11h19
  2. Réponses: 1
    Dernier message: 02/09/2009, 10h35
  3. référence à un objet par son nom de variable
    Par Invité dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/08/2009, 22h01
  4. Récupérer objet par son nom dans une chaîne
    Par peijnoob dans le forum C#
    Réponses: 7
    Dernier message: 14/02/2008, 16h47
  5. [VBA-E]Lisetbox, selectionner item par son nom
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/04/2006, 15h51

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