color cambiar borde c# string newline

c# - cambiar - Cómo usar / n en un cuadro de texto



cambiar el color del borde de un textbox c# (4)

Estoy desarrollando un programa que estoy usando una cadena (código generatedCode ) que contiene algunos /n para ingresar una nueva línea en el cuadro de texto que lo estoy usando ( textBox1.Text = generatedCode ), pero cuando estoy ejecutando El programa, en lugar de romper esa línea estoy viendo un cuadrado.

Recuerda que he establecido el valor de multilínea de textBox en True .


Agregue un retorno de carro (/ r) y debería funcionar:

TextBox1.Text = "First line/r/nSecond line";


Por lo general, /r/n me da una nueva línea en un cuadro de texto. Intente reemplazar su /n con /r/n solo tenga cuidado de no tener una mezcla de /r/n y /n


Reemplace / n con / r / n - así es como los controles de Windows representan nuevas líneas (pero vea la nota en la parte inferior):

textBox1.Text = generatedCode.Replace("/n", "/r/n");

o

textBox1.Text = generatedCode.Replace("/n", Environment.NewLine);

Nota: Como se comentó en los comentarios, es posible que desee utilizar Environment.NewLine . No está claro, sin embargo, no está bien definido qué separador de línea deben usar los controles de Windows Forms cuando no se ejecutan en Windows. ¿Deberían usar la plataforma predeterminada o la de Windows (ya que es un puerto de un control GUI de Windows)? Uno de los ejemplos en MSDN utiliza Environment.NewLine , pero he visto ejemplos horriblemente incorrectos en MSDN antes, y la documentación simplemente no indica cuál debería ser.

En un mundo ideal, solo tendríamos un separador de línea, e incluso en un segundo mejor mundo, cada situación definirá claramente qué separador de línea esperaba ...


ya que usar / n es más fácil para los ojos (especialmente cuando se formatea), y también a veces no controlas cómo se construye la cadena de origen. Creo que lo mejor es usar:
TextBox1.Text = str.Replace("/r/n", "/n").Replace("/n", Environment.NewLine);