¿Cómo puedo pintar en rojo cada vez que encuentro la letra "A" en RichTextBox?Colorear texto selectivamente en RichTextBox
Respuesta
Prueba esto:
static void HighlightPhrase(RichTextBox box, string phrase, Color color) {
int pos = box.SelectionStart;
string s = box.Text;
for (int ix = 0; ;) {
int jx = s.IndexOf(phrase, ix, StringComparison.CurrentCultureIgnoreCase);
if (jx < 0) break;
box.SelectionStart = jx;
box.SelectionLength = phrase.Length;
box.SelectionColor = color;
ix = jx + 1;
}
box.SelectionStart = pos;
box.SelectionLength = 0;
}
...
private void button1_Click(object sender, EventArgs e) {
richTextBox1.Text = "Aardvarks are strange animals";
HighlightPhrase(richTextBox1, "a", Color.Red);
}
Esto no funcionará mientras está escribiendo si eso es lo que busca, pero yo uso esto para resaltar subseries:
Function Highlight(ByVal Search_Str As Object, ByVal InputTxt As String, ByVal StartTag As String, ByVal EndTag As String) As String
Highlight = Regex.Replace(InputTxt, "(" & Regex.Escape(Search_Str) & ")", StartTag & "$1" & EndTag, RegexOptions.IgnoreCase)
End Function
y lo llaman de esta manera:
Highlight("A", "Color All my A's red", [span class=highlight]', '[/span]')
donde la clase 'destacado' tiene cualquier código de colores/formato que desee:
.highlight {text-decoration: none;color:black;background:red;}
Por cierto: es necesario cambiar º ose corchetes a los angulares ... pero no quisieron venir a través de cuando se hayan escrito ...
gracias por la ayuda, pero ¿tiene el código C#? – Gold
Este es el C# código para la respuesta de EJ Brennan:
public string Highlight(object Search_Str, string InputTxt, string StartTag, string EndTag)
{
return Regex.Replace(InputTxt, "(" + Regex.Escape(Search_Str) + ")", StartTag + "$1" + EndTag, RegexOptions.IgnoreCase);
}
Aquí hay un fragmento de mi clase de contenedor para hacer este trabajo:
private delegate void AddMessageCallback(string message, Color color);
public void AddMessage(string message)
{
Color color = Color.Empty;
string searchedString = message.ToLowerInvariant();
if (searchedString.Contains("failed")
|| searchedString.Contains("error")
|| searchedString.Contains("warning"))
{
color = Color.Red;
}
else if (searchedString.Contains("success"))
{
color = Color.Green;
}
AddMessage(message, color);
}
public void AddMessage(string message, Color color)
{
if (_richTextBox.InvokeRequired)
{
AddMessageCallback cb = new AddMessageCallback(AddMessageInternal);
_richTextBox.BeginInvoke(cb, message, color);
}
else
{
AddMessageInternal(message, color);
}
}
private void AddMessageInternal(string message, Color color)
{
string formattedMessage = String.Format("{0:G} {1}{2}", DateTime.Now, message, Environment.NewLine);
if (color != Color.Empty)
{
_richTextBox.SelectionColor = color;
}
_richTextBox.SelectedText = formattedMessage;
_richTextBox.SelectionStart = _richTextBox.Text.Length;
_richTextBox.ScrollToCaret();
}
Ahora puede llamarlo con AddMessage("The command failed")
para que se resalte automáticamente en rojo. O puede llamarlo con AddMessage("Just a special message", Color.Purple)
para definir un color especial (Útil, por ejemplo, dentro de bloques catch para definir un color específico, independientemente del contenido del mensaje)
Gracias Oliver, tu código me ayudó! – Maro
- 1. Texto para colorear en RichtextBox, C#
- 2. ¿Cómo seleccionar texto de RichTextBox y luego colorearlo?
- 3. colorear texto en textarea con jQuery
- 4. C# RichTextBox Seleccione especificada texto
- 5. Cómo alinear texto en RichTextBox C#?
- 6. Enlace el texto de RichTextBox Xaml
- 7. WPF RichTextBox anexando texto de color
- 8. ¿Es posible escribir texto en richtextbox en tiempo de diseño?
- 9. ¿Puedo colorear diferentes partes de texto en un WPF TextBox?
- 10. transparente richTextBox
- 11. texto Conjunto RTF en el control RichTextBox WPF
- 12. C# ¿Cómo puedo configurar el color del texto en richtextbox?
- 13. WPF richTextBox pregunta
- 14. Ayuda de MacVim Command Window para colorear texto (salida Rspec)
- 15. Autoscrolling en RichTextBox C# WinForms
- 16. ¿Cómo usar ccache selectivamente?
- 17. RichTextBox y Word
- 18. RichTextBox equivalente de TextBox.AcceptsReturn
- 19. Líneas seleccionadas de color de RichTextBox
- 20. Prevenir Autoscroll en RichTextBox
- 21. Símbolo Celsius en RichTextBox
- 22. Permitir selectivamente etiquetas html inseguras en Plone
- 23. .NET RichTextBox deshacer
- 24. C#/WPF: Deshabilitar ajuste del texto de RichTextBox
- 25. WPF RichTextBox SelectionChanged Rendimiento
- 26. Espacio después de líneas nuevas en RichTextBox
- 27. Color diferentes partes de una cadena RichTextBox
- 28. Cómo obtener RTF desde RichTextBox
- 29. Cómo colorear un píxel?
- 30. C# RichTextBox problema de selección
Posible duplicado de [Color diferentes partes de una cadena RichTextBox] (https: // stackoverflow.com/questions/1926264/color-different-parts-of-a-richtextbox-string) –