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

  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 753
    Points
    39 753
    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 : 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
    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