2009-12-01 4 views
0

J'ai un RichTextBox dans mon C# -application. Le défilement horizontal et vertical est activé.C#, RichTextBox: comment implémenter le défilement ligne par ligne?

Comportement actuel: Lorsque j'atteins la dernière ligne de la zone de texte visible, le défilement horizontal se met en place. Mais le défilement se fait par pixels, pas par ligne. Donc, je ne peux pas voir le texte que je tape, car la ligne elle-même est partiellement (ou complètement) invisible jusqu'à ce que je fasse défiler verticalement avec le bouton fléché ou en faisant glisser la barre de défilement verticale.

Comportement attendu: Je souhaite que le défilement RichTextBox soit similaire au défilement dans le Bloc-notes. Dans le Bloc-notes, je vois toujours la ligne dans laquelle je tape. Le défilement linéaire est très fluide.

Une idée? Certains paramètres implicites dans RichTextBox? Rien d'autre? Merci,

Répondre

1

Ajout gestionnaire d'événements à l'événement TextChanged, et le défilement vers le bas programme Départ: this post at bytes.com

+0

Alexey, merci pour la réponse. Hmm, il semble que je n'ai pas eu d'idée. Dans MSDN: cet événement prend en charge l'infrastructure .NET Framework et n'est pas destiné à être utilisé directement à partir de votre code. Pourriez-vous me donner quelques indices? – Racoon

+0

Alexey, j'ai copié-collé l'exemple de bytes.com et l'ai exécuté avec succès. Mais il a toujours le même défaut: quand j'atteins la dernière ligne, je ne peux en voir que la moitié ... – Racoon

+0

comme pour le premier commentaire - http://msdn.microsoft.com/fr-fr/library/system. windows.forms.control.textchanged.aspx comme pour la seconde - essayez de jouer avec les arguments passés à la méthode SendMessage (max -richTextBox1.Height) ... –

Questions connexes