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 :

Utiliser un objet créer dynamiquement


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 73
    Points : 55
    Points
    55
    Par défaut Utiliser un objet créer dynamiquement
    Bonjour tout le monde,
    Voila je flanche depuis ce matin sur un petit problème, je crée des Checkbox dynamquement comme ceci :
    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
     
     For i As Integer = 0 To test1 - 1
                compteobjet = compteobjet + 1
                lab(i) = New CheckBox
                lab(i).Name = i
                ex(i) = New Label
                lab(i).AutoSize = True
                ex(i).AutoSize = False
                ex(i).Size = New Size(80, 15)
                lab(i).Location = New Point(X, Y)
                ex(i).Location = New Point(X, Y + 15)
                ex(i).ForeColor = Color.DarkBlue
                lab(i).Text = test(i, 0)
                Me.GroupBox2.Controls.Add(ex(i))
                Me.GroupBox2.Controls.Add(lab(i))
     
                X = X + 90
                If X > 281 Then
                    X = 10
                    Y = Y + 50
                End If
     
            Next
    Et tout fonctionne, ensuite je veux aller lire l'état des ces dites check box, mais je n'y arrive pas, pour le moment j'essayer comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim verif As Boolean = False                'variable de verif
            Dim i As Integer
            For i = 0 To compteobjet         'boucle lisant tous les check box
                    If lab(i).Checked Then
                    verif = True
                End If
            Next
    Et ça ne fonctionne pas, quelqu'un aurais une petite piste s'il vous plait?
    Merci

  2. #2
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Supprime cette ligne de code dans ton programme voir
    modifie plutôt la propriété text
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    "ça ne fonctionne pas", c'est un peu léger pour pouvoir t'aider...
    qu'est-ce qui se passe exactement ?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 73
    Points : 55
    Points
    55
    Par défaut
    Faire un :
    Change le texte de ma check box et ne me sers à rien, alors que:
    me permets de lire son numéro d'index avec un minimum de bidouillage et sans changer l'affichage



    @Tomlev: En fait même si je coche ma checkbox, le programme ne le remarque pas. En fait ce que je souhaite est de pouvoir lire l'état de tous mes check box...


    En C# ya juste une transposition à faire mais là je seche...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 77
    Points : 60
    Points
    60
    Par défaut
    Bonjour

    J'imagine que compeobjet est défini à 0 initialement.
    Dans ce cas, à mon avis, il y a un souci sur le nombre d'objets à tester dans ta boucle (1 en trop) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     For i = 0 To compteobjet - 1
     Next
    Ensuite, tu peux essayer ça :

    Cas1 : la variable verif indique true si une des checkbox est cochée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Dim verif As Boolean = False
     For i = 0 To compteobjet - 1
             verif = verif Or lab(i).Checked
             If verif = True Then Exit For
     Next
    Cas 2 : la variable verif indique true si toutes les checkbox sont cochées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      Dim verif As Boolean = True
     For i = 0 To compteobjet - 1
              verif = verif And lab(i).Checked
              If verif = False Then Exit For
     Next
    Mais j'ai peut-être mal compris moi aussi.

    Ps : Ca serait sans doute plus propre avec un Do until ...Loop

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 73
    Points : 55
    Points
    55
    Par défaut
    Ca marche^^, merci yann_DZ, effectivement je l'initialisais à 0 et de ce fa8it j'allais trop loin dans l'index, mais j'y ai pas pensé...

    Comme quoi que les erreurs simples sont les plus chiantes à trouver...

  7. #7
    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 : 41
    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
    Citation Envoyé par yann_DZ Voir le message
    Bonjour
    Ps : Ca serait sans doute plus propre avec un Do until ...Loop
    Ou avec un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for each elem as CheckBox in lab


    P.S. : Pour la solution de lilroma j'ai pas compris

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

Discussions similaires

  1. Créer dynamiquement des objets Java
    Par choko83 dans le forum Débuter avec Java
    Réponses: 15
    Dernier message: 02/05/2008, 14h53
  2. Exploration Objets créer dynamiquement
    Par BATiViR dans le forum C#
    Réponses: 9
    Dernier message: 30/01/2008, 13h58
  3. Réponses: 2
    Dernier message: 25/09/2007, 15h33
  4. Réponses: 1
    Dernier message: 17/04/2007, 14h43
  5. Réponses: 5
    Dernier message: 06/09/2006, 13h15

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