How To Use \n In a TextBox

c#, newline, string

Solution

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...

Problem

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`.

Original source