2009-08-28 16 views
7

Soy bastante nuevo en C# (tuve un problema RS-232 recientemente) y estoy tratando de escribir una pequeña aplicación que hace varias tareas detrás de escena y quiero crear un registro de mensajes para mantener al usuario actualizado en qué etapa se encuentra la aplicación.C# - Escribir un registro usando un cuadro de texto

El registro solo constará de mensajes simples de una línea.

Actualmente estoy usando un cuadro de texto que está deshabilitado para que el usuario no pueda cambiarlo. Obviamente puedo hacer varias líneas de texto usando los caracteres \ r \ n al final de una línea, pero cuando llego a escribir un segundo conjunto de mensajes, se escriben al comienzo del cuadro de texto que sobrescribe los primeros mensajes.

¿Puedo cambiar esto para anexar en lugar de sobreescribirlo? Además, ¿el cuadro de texto agregará automáticamente una barra de desplazamiento cuando el texto sea más de lo que se puede mostrar?

Respuesta

6
textBox1.Text += "new Log Message" + Environment.NewLine; 

hacer el TexBox Sin discapacidades, pero de sólo lectura y la barra de desplazamiento aparecerá

+0

Todo funcionó muy bien y que tenía para que el cuadro de texto de lo contrario la barra de desplazamiento wouldnt se movió, pero sólo lectura lo resolvieron también! ¡Gracias a todos! Brillante. – George

+0

de nada;) –

+0

Aquí hay un problema. Cuando se agrega la primera entrada de registro, habrá una nueva línea vacía al inicio. – erelender

4

Para añadirlo en la parte superior:

textBox.Text = newText + Environment.NewLine + textBox.Text; 

para añadir que:

textBox.Text += Environment.NewLine + newText; 

Sí , se agrega una barra de desplazamiento automáticamente.

2

puede anexar al texto usando esta pieza de código:

myTextBox.Text += myLogText + Environment.NewLine; 

Alternativamente, se puede utilizar un cuadro de lista.

0

Una mejor opción es utilizar:

TextBox.AppendText(string) 

por ejemplo:

myTextBox.AppendText(newLogEntry + Environment.NewLine); 

¿Qué hace que un multi línea de desplazamiento de texto al botón, así como para evitar el parpadeo de la barra de desplazamiento.

MSDN on TextBox.AppendText(string)

Cuestiones relacionadas