Enlever un Controle cree dynamiquement [Résolu]

Signaler
Messages postés
206
Date d'inscription
samedi 17 janvier 2009
Statut
Membre
Dernière intervention
5 mars 2013
-
Messages postés
206
Date d'inscription
samedi 17 janvier 2009
Statut
Membre
Dernière intervention
5 mars 2013
-
Bonjour a tous,

J'essaye depuis un moment a enlever un controle cree dynamiquement, mais j'ai le probleme suivant:
- Si j'ai 3 images (1, 2 et 3 creees dynamiquement) et que j'enleve la 2, la boucle utilise ci-dessous demarre au controle qui a le focus (la 2), puis passe a la 3 et ensuite passe a travers d'autres controls, mais l'image 1 ne se trouve jamais dans ma boucle.
- Mon image est bien enleve, mais c'est le bazar au niveau des index.
- Tout cela verifie en mode Debug.

Pourquoi un controle (image 1 dans cet exemple) est oublie dans cette boucle For Each?
Est-il possible de demarrer sur le control qu'on veut?

 For Each ctl In Me.SplitContainer1.Panel2.Controls
            If TypeOf ctl Is PictureBox Then
                pict = CType(ctl, PictureBox)
                If pict.BorderStyle = BorderStyle.Fixed3D Then
' ...etc...


En esperant etre assez clair, merci de vos suggestions.
JLuc01

1 réponse

Messages postés
206
Date d'inscription
samedi 17 janvier 2009
Statut
Membre
Dernière intervention
5 mars 2013
1
Desole, je crois avoir trouve une solution a mon probleme. Peut-etre pas genial, mais cela a l'air de marcher.

J'utilise ma boucle 2 fois, la premiere pour enlever l'image, et la deuxieme fois pour m'occuper de mes index.

Avant, je faisais un IF THEN ELSE, et je voulais en faire trop a la fois, considerant que ctl dois surement compter le nombre de controle present avant de commencer la boucle, et j'enleve un controle dans cette boucle.

J'espere avoir ete assez clair dans mes explications.
Desole pour le derangement. Cela me rappelle un autre membre (Duke, je crois) qui fais souvent les reponses et les questions a son probleme, en general interessant a lire.

A+
JLuc01