2010-10-12 8 views
4

Je veux être en mesure d'afficher les informations de mise à jour de processus à un utilisateur. La façon dont je veux faire cela est d'avoir un contrôle sur la forme principale de winform qui (à un processus encore indécis) tient l'utilisateur informé par le texte de ce qu'est le statut. Je veux que ce texte défile (dans un contrôle) au fur et à mesure que du texte est ajouté.C# - afficher beaucoup de texte dans WinForm

Quelle est la meilleure façon d'y parvenir?

Répondre

5

Utilisez une zone de texte multiligne, comme ceci:

myTextBox.Multiline = true; 

et mettre à jour tout en faisant défiler vers le bas, comme ceci:

myTextBox.Text += "My message" + System.Environment.NewLine; 
myTextBox.SelectionStart = myTextBox.Text.Length; 
myTextBox.ScrollToCaret(); 
3

Eh bien, un multiligne TextBox ou RichTextBox fera l'affaire très bien. Utilisez sa méthode AppendText().

Je ne peux pas juger la valeur de cette information de votre question. En général, évitez de supposer que l'utilisateur est intéressé par les détails de mise en œuvre, en particulier lorsqu'il y en a beaucoup. Un ProgressBar est presque toujours l'indicateur de progrès le plus approprié. Peut-être un Label ou un StatusStrip pour donner un peu de contexte.

Méfiez-vous du coût de Control.BeginInvoke() pour mettre à jour les contrôles.