6
votes

Changer la position de la barre de défilement dans la zone de texte?

Si je veux modifier la position de la barre de défilement Scroll de texte , que dois-je faire en plus de cela: xxx

Cette fonction ne modifie que la barre de défilement Position, mais cela ne met pas à jour la zone de texte réelle (donc la barre de défilement "défile", mais le texte ne signifie pas). Aucune suggestion? J'utilise Windows Forms et .NET 4, avec Visual Studio 2008.


0 commentaires

3 Réponses :


6
votes

Tout d'abord, définissez une valeur constante: xxx pré>

puis, déclarez deux méthodes externes de user32.dll forts>: p> xxx pré >

Enfin, utilisez ces méthodes pour faire la chose réelle: P>

[DllImport("user32.dll")]
static extern int GetScrollPos(IntPtr hWnd, int nBar);


1 commentaires

Et si j'ai 1 très longue ligne comme le flux d'octets?



6
votes

i habituellement: xxx

où la sélection de 0 caractères déplace simplement le curseur sur l'emplacement souhaité (dans le code exemple: à la fin du texte).


0 commentaires

2
votes

Essayez d'éviter de contrôler cela directement, cela ne fonctionne tout simplement pas vraiment. Définissez la propriété TextBox.SelectionStart pour vous assurer que le caret est la ligne que vous souhaitez rendre visible. Appelez ensuite ScrollTocaret. Le contrôle doit avoir l'accent sur cette œuvre. Votre utilisateur n'aura pas de mal à le retrouver.

Textbox est une enveloppe pour le grand papa des contrôles, il est déjà âgé de 23 ans, plus vieux que beaucoup d'utilisateurs que je pense. Retour Lorsque 640 Ko suffisaient pour que tout le monde et Windows 2.0 a dû fonctionner sur un 386Sux ou moins. La version WPF a plus de sifflets.


0 commentaires