TextBox, défilement vertical automatique

Résolu
zark92 Messages postés 3 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 17 février 2007 - 17 févr. 2007 à 10:25
zark92 Messages postés 3 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 17 février 2007 - 17 févr. 2007 à 13:32
Bonjour à tous,
j'utilise une TextBox comme fenêtre pour stocker le log d'activité. Je souhaiterais faire défiler automatiquement la TextBox tout en bas quand j'ajoute du text (pour que l'utilisateur voit le dernier texte ajouté).

Je n'ai pas trouvé comment mettre la main sur les scrollbars associées à la TextBox. Quelqu'un a une idée ?

5 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
17 févr. 2007 à 11:02
Salut,

tb = new TextBox( );
tb.Multiline = true;
tb.ScrollBars = ScrollBars.Both;
tb.Dock = DockStyle.Fill;
tb.TextChanged += delegate
{
    this.tb.Focus( );
    this.tb.Select( this.tb.Text.Length, 0 );
    this.tb.ScrollToCaret( );
};
3
zark92 Messages postés 3 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 17 février 2007
17 févr. 2007 à 11:46
Merci, ça fonctionne bien. Par contre la TextBox clignote quand j'ajoute du text.

Y a-t-il un moyen pour désactiver/réactiver le rafraissement pendant l'ajout du text et le défilement du contrôle:

                // Il faudrait désactiver le refresh ici
                this.logTextBox.Text += message + "\r\n";
                this.logTextBox.Select( this.logTextBox.Text.Length, 0 );
                this.logTextBox.ScrollToCaret();
                // Il faudrait réactiver le refresh ici
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 60
17 févr. 2007 à 11:57
Au lieu de mettre this.logTextBox.Text += message + "\r\n";
Utilise la méthode AppendText... Je ne sais pas si ça va résoudre ton problème, mais ça sera de toute façon mieux en terme de performance...

<hr />
-Blog-
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
17 févr. 2007 à 12:30
Et Environment.NewLine a la place de "\r\n" ;)

Mx
MVP C# 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zark92 Messages postés 3 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 17 février 2007
17 févr. 2007 à 13:32
Merci pour les conseils. Ca clignote toujours mais au moins on arrive maintenant à lire le texte (l'affectation à la propriété .Text cause visiblement un effacement complet du texte avant rafraichissement).
0
Rejoignez-nous