Bizarerie graphique (Splitter, TabControl)

Signaler
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
Bonjour,

Petit souci comportemental de mon appli (VB 2010, Framework 2) :
Sur ma forme, j'ai placé un TabControl.
Dans l'une des TabPage (la seconde) de ce composant, j'ai placé un Splitter pour afficher à gauche un TreeView, à droite une ListView.
Afin de conserver l'esthétique de l'application entre deux lancements, je mémorise et rappelle la position de mon Splitter (SplitDistance, Integer).

Voilà le problème :
Au lancement de l'appli, la TabPage qui accueille le Splitter n'est pas visible.
Lors du Load de la forme, je rappelle le SplitDistance mémorisé et je l'applique à l'objet en question.
Pour l'instant, je ne le vois pas, et le Splitter a bien pris la valeur écrite.
Dès que je change de TabPage et que le Splitter apparait, systématiquement, il décale la position d'une poignée de pixels vers la droite - jamais la même valeur de décalage, entre 35 lorsque la position est de l'ordre de 300 pixels jusqu'à 62 pixels lorsque la position est à 600, on dirait que c'est proportionnel.

Vraiment bizarre.
Etant donné le manque d'aisance à manipuler les objets concentrés sur ce TabControl, je ne voudrais pas toucher aux objets pour l'instant.
En dernier recourt, j'envisage de supprimer tout puis de reconstruire, mais c'est lourd.

D'après l'aide, le SplitDistance est calculé par rapport au Container.
On a l'impression que le Container change lorsque je demande l'affichage de l'objet. Possible ?
En plus, c'est un comportement nouveau. Je n'avais pas remarqué cette anomalie auparavant (je bosse dessus depuis 2 mois), et je n'ai fait d'important qui touche au positionnement ou aux propriétés des contrôles.

--> Si vous zavez des idées, elles sont les bien venues !

Vala
Jack [MVP VB]
NB : Je ne répondrai pas aux messages privés