Hace poco tuve que trabajar bastante con controles RichTextBox, donde una de las necesidades era la de modificar el contenido de la visualización de un archivo .RTF sin que este perdiera el formato.
La fuera de la costumbre me llevo a hacer un richTextBox1.Text.Replace("Hola mundo?","Adiós mundo cruel!"); Lo que se tradujo en una total perdida de formato, donde todo el contenido del control quedo con el formato de la primera cadena de caracteres. Producto de esto le dedique un par de minutos a ver las propiedades, miembros y demás del control hasta que encontré la respuesta!
Escondida en la documentación encontre la propiedad más obvia para el caso llamada Rtf, la cual te permite setear o recuperar el formato establecido para archivos del tipo .rtf, por lo que la operación final sólo requería de un pequeño ajuste:
richTextBox1.Rtf = richTextBox1.Rtf.Replace("Hola mundo?","Adiós mundo cruel!");
Finalmente el procedimiento completo resulto con tan sólo 2 líneas:
richTextBox1.LoadFile("C:\\TipRTF.rtf");
richTextBox1.Text.Replace("Hola mundo?","Adiós mundo cruel!");
Espero que esto le evite perder a más de alguno un dolor de cabeza!
Muchas gracias... ya se me habia olvidado el metodo Replace.. :p
ResponderEliminarLoading rtf text into RichTextBox in C#.NET
ResponderEliminar