2011-07-14 5 views
1

Je souhaite ajouter du texte à un contrôle RichTextBox mais je ne souhaite pas interférer avec la position de défilement ou la sélection de texte de l'utilisateur. Le meilleur que j'ai pu faire jusqu'à maintenant est de sauvegarder les propriétés SelectionStart et SelectionLength et de les restaurer après avoir ajouté mon texte. C'est proche mais le curseur se retrouve en haut du contrôle plutôt que là où il était avant l'ajout. Est-ce possible?Empêcher le défilement automatique de RichTextBox

Répondre

2

Ok, voici exactement ce dont vous avez besoin: Richtextbox :- controlling scrolling when appending text.

Vous y trouverez comment verrouiller le parchemin lors de l'ajout de texte.

Rechercher réponse CoolColin:

L'astuce consiste à utiliser l'appel de Windows EM_HIDESELECTION (ce qui est différent du # hideselection), et aussi de supprimer temporairement la mise au point.

Vous pouvez utiliser la propriété SelectionStart de votre contrôle RichTextBox à « Obtient ou définit le point de départ du texte sélectionné dans la zone de texte. » avec les valeurs que vous avez déjà stockées.

Jetez un oeil à RichTextBox Class. À la fin, vous devez utiliser la méthode TextBoxBase.ScrollToCaret.

+0

Cette réponse est grande ligue, laissez-moi vous dire. –

Questions connexes