Ordre des controls dans un Panel

Signaler
Messages postés
2
Date d'inscription
mardi 19 juillet 2011
Statut
Membre
Dernière intervention
10 décembre 2011
-
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
-
Bonjour à tous !

je me heurte à un petit problème, on peut bien sur parcourir les éléments d'un panel avec par exemple : panel1.controls(i)
i, étant l'indice du contrôle en question.
j'ai remarqué que ces indices sont donnés automatiquement dans l'ordre inverse du placement de l'objet dans le panel.
je m'explique : si je place deux objets dans mon panel, le premier placé aura l'indice 1 et le deuxième l'indice 0.

Ma question est la suivante : Peut-on changer l'attribution de ces indices ?

Bien sur, la propriété TabIndex ne change rien à l'ordre défini automatiquement !

En vous remerciant de votre lecture.
Gaël.

2 réponses

Messages postés
728
Date d'inscription
samedi 4 avril 2009
Statut
Membre
Dernière intervention
30 mars 2014
5
Bonjour salutgael,

Je crois qu'il y a une confusione !
TabIndex ne change pas lemplacement des objets, il régente l'ordre dans lequel la tabulation entre objets va être effectuée, en concordance avec TabStop.

J'ai en effet déjà constaté ce "chiant" problème vbNet d'avoir la manie de recopier les objets, un coup dans le désordre et un coup dans l'ordre (c'est le progrès MST, sous vb6, suffisait d'écrire objet(i))...
La seule parade manuelle que j'ai trouvé est hélas de le remettre dans l'ordre avec mes pattes velues

Cordialement, Joe.
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Salut

j'ai remarqué que ces indices sont donnés automatiquement dans l'ordre inverse du placement de l'objet dans le panel.


pas forcément

que veux tu faire?

par ex si j'ai plusieurs textbox et je veux un text vide dans chacun
for each ctrl as control in panel1.controls
  if typeof ctrl is textbox then
     DirectCast(ctrl,textbox).text = string.empty
   end if
next