cs_elaene
Messages postés9Date d'inscriptionvendredi 11 septembre 2009StatutMembreDernière intervention31 janvier 2021
-
12 janv. 2012 à 15:03
cs_elaene
Messages postés9Date d'inscriptionvendredi 11 septembre 2009StatutMembreDernière intervention31 janvier 2021
-
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;
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 12 janv. 2012 à 17:50
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.
madkeyboard
Messages postés100Date d'inscriptionmercredi 27 avril 2011StatutMembreDernière intervention21 décembre 20121 23 janv. 2012 à 10:08
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).
=> 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 !).
cs_elaene
Messages postés9Date d'inscriptionvendredi 11 septembre 2009StatutMembreDernière intervention31 janvier 2021 31 janv. 2012 à 11:17
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 :)
cs_elaene
Messages postés9Date d'inscriptionvendredi 11 septembre 2009StatutMembreDernière intervention31 janvier 2021 31 janv. 2012 à 11:43
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à...
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 31 janv. 2012 à 14:49
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.