Déplacer scrollbar par programmation [Résolu]

Messages postés
8
Date d'inscription
vendredi 11 septembre 2009
Dernière intervention
28 septembre 2012
- - Dernière réponse : cs_elaene
Messages postés
8
Date d'inscription
vendredi 11 septembre 2009
Dernière intervention
28 septembre 2012
- 2 févr. 2012 à 13:44
Bonjour.
J'ai besoin de déplacer des scrollbar automatiquement par programmation pour parcourir une tabpage et la transformer en image (aucun autre moyen possible de le faire).
Savez-vous donc comment changer les localisations en pixel des scrolls? J'ai essayer ça mais ça ne marche pas;

maTabPage.VerticalScroll.Value = 100;
maTabPage.HorizontalScroll.Value = 100;


Merci!
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Dernière intervention
1 août 2013
3
Merci
Salut,

il faut utiliser la propriété AutoScrollPosition du TabPage.
Dans l'exemple suivant, la ligne de code fait scroller la tab tout en bas :
tabPage.AutoScrollPosition = new Point(0, tabPage.VerticalScroll.Maximum);


A noter que le maximum n'est pas nécessairement 100, car il ne s'agit pas d'un pourcentage mais d'une position réelle. Il faut donc travailler avec des ratio de Maximum.

Bon code

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de cs_jopop
Messages postés
100
Date d'inscription
mercredi 27 avril 2011
Dernière intervention
21 décembre 2012
0
Merci
Salut,

A noter une autre solution, un peu plus bâtarde, et que l'on doit faire chaque fois que désiré (non automatique), mais qui a son efficacité : on utilise la fonction ScrollToCaret() en définissant au préalable la position du "caret" ( = position du curseur).

Moi je l'utilise comme suit :
maTabPage.SelectionStart = maTabPage.TextLength;
maTabPage.ScrollToCaret();

=> On défini la sélection (et donc le curseur) à la fin du texte, puis on fait le scroll jusqu'au curseur. On peu ensuite définir la position du curseur en faisant une recherche de texte, pour descendre l'ascenseur à un point précis du texte.

C'est utile notamment pour les contrôles n'ayant pas de propriété "AutoScrollCaret", ni "VerticalScroll" (ex les richTextBox !).

J'espère que ça en aidera certains !
Commenter la réponse de madkeyboard
Messages postés
8
Date d'inscription
vendredi 11 septembre 2009
Dernière intervention
28 septembre 2012
0
Merci
Le problème de la seconde solution est que ma tabpage ne contient pas du texte mais des éléments (graphiques entre autres) représentant un MCD... Je vais donc essayer avec la solution de jopop, que j'avais déjà essayé sans savoir que le max se changeait! Je croise les doigts! Merci pour vos réponses :)
Commenter la réponse de cs_elaene
Messages postés
8
Date d'inscription
vendredi 11 septembre 2009
Dernière intervention
28 septembre 2012
0
Merci
J'aimerai juste quelques précisions sur le autoscrollposition : est-ce que ça déplace le scrollbar à une autre position (genre 200 px horizontal et 300px vertical) ou est-ce que ça enlève à la position de départ des pixels pour déplacer le scroll (car j'ai des valeurs négatives en essayant avec le max donc il me semble que c'est ça), et dans ce cas, comment mettre dès le départ le scroll tout en haut à gauche (dans le cas où l'utilisateur l'ai déplacé de lui-même)?
Je sais c'est compliqué et je commence à galérer sévère avec ces scrolls >_< mais obligé de passer par là...
Commenter la réponse de cs_elaene
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Dernière intervention
1 août 2013
0
Merci
Re,

quand tu as un nom de namespace/class/méthodes/propriété, pour avoir des précisions, il suffit alors de demander à la MSDN. Si y'a un truc qui est vraiment super avec les techno Crosoft c'est bien ça ;)

Voilà le lien : AutoScrollPosition
L'information que tu cherches est dans l'encart "Note".

Je suis pas sûr de bien avoir compris ta dernière question, mais en gros ma ligne de code t'enverra toujours en bas à gauche de ton Scrollable. Le set de AutoScrollPosition est un déplacement de (X;Y) depuis (0;0), peu importe où sont les scrollbars au moment du setting.

Bon dev
Commenter la réponse de cs_jopop
Messages postés
8
Date d'inscription
vendredi 11 septembre 2009
Dernière intervention
28 septembre 2012
0
Merci
C'est bon j'ai compris et j'ai réussis, merci bien =)
Commenter la réponse de cs_elaene

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.