TextBox, défilement vertical automatique [Résolu]

Messages postés
3
Date d'inscription
samedi 17 février 2007
Dernière intervention
17 février 2007
- 17 févr. 2007 à 10:25 - Dernière réponse :
Messages postés
3
Date d'inscription
samedi 17 février 2007
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 ?
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Dernière intervention
27 octobre 2012
- 17 févr. 2007 à 11:02
3
Merci
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( );
};

Merci Lutinore 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de Lutinore
Messages postés
3
Date d'inscription
samedi 17 février 2007
Dernière intervention
17 février 2007
- 17 févr. 2007 à 11:46
0
Merci
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
Commenter la réponse de zark92
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Dernière intervention
20 juin 2013
- 17 févr. 2007 à 11:57
0
Merci
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-
Commenter la réponse de cs_Bidou
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Dernière intervention
30 octobre 2008
- 17 févr. 2007 à 12:30
0
Merci
Et Environment.NewLine a la place de "\r\n" ;)

Mx
MVP C# 
Commenter la réponse de MorpionMx
Messages postés
3
Date d'inscription
samedi 17 février 2007
Dernière intervention
17 février 2007
- 17 févr. 2007 à 13:32
0
Merci
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).
Commenter la réponse de zark92

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.