Décalage des UserControls dans un Panel

Résolu
Shaegal Messages postés 110 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 12 mai 2021 - 1 oct. 2013 à 11:31
Shaegal Messages postés 110 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 12 mai 2021 - 2 oct. 2013 à 14:13
Bonjour,

Dans un Panel, j'ajoute des UserControls (UC) l'un en dessous de l'autre à mesure des saisies.
Je contrôle la position du nouvel UC par un simple:

Me.Top=Num*(Me.Height+1)

Num étant le N° de UC de base 0.

Tout fonctionne parfaitement jusqu'à l'apparition du ScrollBar vertical où mes UC s'écartent de plus en plus.

Quelqu'un aurait-il une solution à ce problème?

Merci.
--

2 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
1 oct. 2013 à 13:27
Bonjour,

Essayes d'utiliser la propriété Dock peut être.
Il te faudra peut être jouer sur l'ordre des contrôles, mais ça sera nettement plus propre.
0
Shaegal Messages postés 110 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 12 mai 2021 1
1 oct. 2013 à 13:47
Bonjour NHenry,

Merci pour cette rapide réponse. Malheureusement, l'utilisation de la propriété Dock ne m'aidera pas.

À force d'acharnement, j'ai fini par trouver la solution au problème qui est, somme toute, très simple et que je donne à ceux qui seraient intéressés avec grand plaisir.

En fait, je me suis aperçu que lorsque le scrollbar apparaissait, la valeur Top de l'UC n'augmentait plus et restait en dessous d'une valeur limite; celle du Width du Panel.
Fort de ce constat, j'ai cherché et trouvé une propriété du scrollbar qui ne variait que lorsqu'elle apparaissait.

La voici:
VerticalScroll.Value


Du coup, le code permettant de positionner correctement la propriété Top de l'UC devient:
MonUC.Top=Num*(MonUC.Heigth-1)-MonPanel.VerticalScroll.Value


C'en est presque magique... ;-)
--
0
Shaegal Messages postés 110 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 12 mai 2021 1
2 oct. 2013 à 14:13
Correctif:
La valeur est celle du Height et non le Width du Panel.

Avec toutes mes excuses... :-p
0
Rejoignez-nous