L(index du prochain controle d'une collection ???

youkizouki Messages postés 82 Date d'inscription jeudi 22 avril 2004 Statut Membre Dernière intervention 12 octobre 2005 - 10 févr. 2005 à 14:20
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 - 11 févr. 2005 à 09:03
Bonjour,<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


J’ai créé dans mon applic un bouton permettant de créer dynamiquement des contrôle en utilisant un index.
Je peut également supprimer c’est contrôle mais il s’est avéré que l’index ne bouge pas dynamiquement lors de la suppression :


Exemple :
Contrôle(0) ‘index 0
Contrôle(1) ‘index1
Contrôle(2) ‘index2
Contrôle(3) ‘index3


Si je supprime le Contrôle(2) je dois remonter le contrôle 3 afin qu’il se trouve juste en dessous du contrôle 1 etc…
Le problème c’est qu’a longue échéance l’index des contrôles ne se suit plus et sa pose différent problèmes pour réajuster leur position.

Exemple :
Contrôle(0)
Contrôle(4)
Contrôle(7)


Savez comment peut on faire pour connaître le n° d’index de l ‘élément qui suit un contrôle ???
(PS : je ne peut pas utiliser l’instruction For … Each pour diverse raisons…)

mika

3 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
10 févr. 2005 à 14:50
une question à la con... pourquoi utiliser un tableau de control plutot qu'un ArrayList (ou HashTable)

Le mieux que je te suggère c'est de créer une classe ControlCollection héritant de ICollection

Sébastien FERRAND
Blog :
http://blogs.developpeur.org/sebmafate
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
11 févr. 2005 à 00:49
Pour parcourir les controles créé dynamiquement tu peux faire un truc du style
(en supposant que tu as fais une collection de bouton nommé Command1)

Dim Ctrl As Control
For Each Ctrl In Command1
MsgBox Ctrl.Index
Next

En effet, un groupe de controle n'est rien d'autre qu'une collection !! Donc un ofr Each est applicable dessus.
Sebmafate < Si je ne m'abuse toi tu cause le VB.NET et Youkizouki cause le VB6, sinon il ne parlerait de controles avec index (qui n'existe plus en VB.NET)

Christophe R
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
11 févr. 2005 à 09:03
mouarf... oui...
ca serait bien de préciser parfois quelle version vous utiliser

Sébastien FERRAND
Blog :
http://blogs.developpeur.org/sebmafate
0
Rejoignez-nous