c# - ejemplo - richtextbox html
Cambiar el color del texto dentro de WinForms RichTextBox (2)
Esta pregunta ya tiene una respuesta aquí:
- Color diferentes partes de una cadena de RichTextBox 6 respuestas
Tengo un RichTextBox al que escribo una cadena cada vez que hago clic en un botón de Formulario. Cada cuerda comienza con la cadena "Largo" o "Corto" y termina con una nueva línea. Cada vez que agrego una cadena, se agrega a la parte inferior de RichTextBox. Me gustaría colorear cada línea roja si se trata de "Largo" y azul si comienza con "Corto". ¿Cómo puedo hacer esto?
Claro, entonces lo que puedes hacer es usar las propiedades SelectionStart, SelectionLength y SelectionColor para lograr esto. Funciona bastante bien.
Echa un vistazo a esta página para obtener información sobre estas propiedades.
Puede conocer la longitud del texto de RichTextBox y colorearlo a medida que avanza estableciendo la propiedad SelectionStart en la longitud actual, obtenga la longitud de la cadena que va a adjuntar, establezca SelectionLength y luego establezca SelectionColor según corresponda. Enjuague y repita para cada cuerda agregada.
int length = richTextBox.TextLength; // at end of text
richTextBox.AppendText(mystring);
richTextBox.SelectionStart = length;
richTextBox.SelectionLength = mystring.Length;
richTextBox.SelectionColor = Color.Red;
Algo como eso. Así es como lo recuerdo funcionando.
Estaba haciendo esto en un programa que estaba escribiendo. Estaba haciendo algo así como @itsmatt, pero me siento un poco más simple. Puede simplemente establecer el Selectioncolor
y desde ese punto en el RichTextBox
será ese color hasta que lo cambie a algo más. Si está probando cada línea, esto parece funcionar bien y es fácil.
if(myString == "Long")
{
richTextBox.SelectionColor = Color.Red;
}
else
{
richTextBox.SelectionColor = Color.Green
}
richTextBox.AppendText(myString);