Me parece estar experimentando un problema muy inusual con el control RichTextBox
, programación en C# en Visual Studio 2008.RichTextBox no procesando nuevos caracteres de retorno de línea/carro
Actualmente estoy leyendo la corriente de un archivo que está siendo escrito por la consola de Windows (con redirección de salida), y lo estoy leyendo en mi programa (esencialmente, estoy recreando lo que se conoce en el mundo de Unix como "cola").
Cuando se lee una matriz de bytes, me gustaría volver a una nueva línea y continuar leyendo. Sin embargo, parece que mi RTB no responderá a los nuevos caracteres de línea o retorno de carro. Por ejemplo, he intentado anexar \n
, \r\n
e incluso Environment.NewLine
a la cadena que se está escribiendo, pero parece que nada funciona. Simplemente sigue escribiendo en la misma línea.
Este es el código que parece estar causando problemas:
string convertedBuffer = System.Text.Encoding.UTF8.GetString((byte[])e.UserState);
outputBox.AppendText(convertedBuffer + "\n");
estoy realmente en una pérdida aquí, ¿alguien puede ayudar?
que habría sido también creo, desafortunadamente, el valor de Multiline está establecido en verdadero. Para obtener más información, cuando asigno a la propiedad de texto en lugar de agregarlo, parece que los caracteres de nueva línea se reconocen completamente, ya que puedo ver que mi cursor se mueve hacia abajo dos líneas con I \ n \ n. Sin embargo, en mi bloque de código publicado anteriormente, todavía no está funcionando. – TGP1994
@ TGP1994: Eso es extraño. Lo comprobé: agregué un nuevo 'Form'' Form1' y le agregué un nuevo 'richTextBox1' con sus valores predeterminados. Ahora, en el código, evalúe la línea de adición múltiple como 'richTextBox1.AppendText (" Testing ... "+ Environment.NewLine); richTextBox1.AppendText ("Testing ..." + Environment.NewLine); 'Funcionará como se esperaba ... –
¿Qué tal anexar una cadena que se generó desde System.Text.Encoding.UTF8?GetString()? – TGP1994