Déplacer scrollbar par programmation [Résolu]

cs_elaene 8 Messages postés vendredi 11 septembre 2009Date d'inscription 28 septembre 2012 Dernière intervention - 12 janv. 2012 à 15:03 - Dernière réponse : cs_elaene 8 Messages postés vendredi 11 septembre 2009Date d'inscription 28 septembre 2012 Dernière intervention
- 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 

6 réponses

Répondre au sujet
cs_jopop 1540 Messages postés lundi 26 mai 2003Date d'inscription 1 août 2013 Dernière intervention - 12 janv. 2012 à 17:50
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_jopop
madkeyboard 100 Messages postés mercredi 27 avril 2011Date d'inscription 21 décembre 2012 Dernière intervention - 23 janv. 2012 à 10:08
0
Utile
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
cs_elaene 8 Messages postés vendredi 11 septembre 2009Date d'inscription 28 septembre 2012 Dernière intervention - 31 janv. 2012 à 11:17
0
Utile
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
cs_elaene 8 Messages postés vendredi 11 septembre 2009Date d'inscription 28 septembre 2012 Dernière intervention - 31 janv. 2012 à 11:43
0
Utile
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
cs_jopop 1540 Messages postés lundi 26 mai 2003Date d'inscription 1 août 2013 Dernière intervention - 31 janv. 2012 à 14:49
0
Utile
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
cs_elaene 8 Messages postés vendredi 11 septembre 2009Date d'inscription 28 septembre 2012 Dernière intervention - 2 févr. 2012 à 13:44
0
Utile
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.