I'm developing a program that I'm using a string(generatedCode
) that contains some \n
to enter a new-line at the textBox that I'm using it(textBox1.Text = generatedCode
), but when I'm running the program, instead of breaking that line I'm seeing a square.
Remember that I've set the Multiline
value of the textBox to True
.
Replace \n with \r\n - that's how Windows controls represent newlines (but see note at bottom):
textBox1.Text = generatedCode.Replace("\n", "\r\n");
or
textBox1.Text = generatedCode.Replace("\n", Environment.NewLine);
Note: As discussed in comments, you may want to use Environment.NewLine
. It's unclear though - it's not well-defined what line separator Windows Forms controls should use when they're not running on Windows. Should they use the platform default, or the Windows one (as it's a port of a Windows GUI control)? One of the examples in MSDN does use Environment.NewLine
, but I've seen horribly wrong examples in MSDN before now, and the documentation just doesn't state which is should be.
In an ideal world, we'd just have one line separator - and even in a second best world, every situation would clearly define which line separator it was expecting...