none
ajouter/supprimer des items dans un combobox à partir du handel ou de la collection de control RRS feed

  • Question

  • Bonjour,
    J'utilise de nombreux Control sur une même form. Pour les gérés je passe par leur la collection de control controls(index).
    Mon souci est d'ajouter/supprimer des item d'un combobox, plus généralement d'avoir accès aux membres du control via controls(index).
    voila ce que j'aimerais pouvoir faire mais qui ne marche pas :
            For i = 0 To 1 'parcourt des onglets
                For j = 0 To 5 'parcourt des groupbox
                    For k = 0 To 3 'parcourt des controls d'un groupbox
                        Me.TabControl1.TabPages(i).Controls(j).Controls(k).Items.AddRange(liste_affichee_dans_combobox))
                    Next
                Next
            Next
     
    j'ai essayer de trouver une solution en utilisant le handel du controleur mais la méthode items.addrange n'est accessible que par une instance de la classe combobox.
    dimanche 19 juin 2011 09:56

Réponses

  • Bonjour torbou et bienvenue sur le forum.

    Essayez d'utiliser l'instruction For each qui est plus simple pour parcourir les collections, voici le code qui semble fonctionner :

     For Each onglets As TabPage In TabControl1.TabPages 'pour chaque onglet du TabControl
       For Each groupBox As Control In onglets.Controls 'pour chaque groupbox de l'onglet
        For Each comboBox As Control In groupBox.Controls 'pour chaque combobox de la groupbox
         If TypeOf comboBox Is ComboBox Then 'si c'est bien une combobox (non obligatoire)
          DirectCast(comboBox, ComboBox).Items.AddRange(liste_affichee_dans_combobox) 'on convertit le type Control en ComboBox et on ajoute les éléments
         End If
        Next
       Next
      Next
    


    N'hésitez pas à poser des questions si un problème subsiste ou quelque chose n'est pas clair. Dans l'autre cas, veuillez indiquer que le problème est résolu. Cordialement - Best Regards.
    dimanche 19 juin 2011 10:22