Подтвердить что ты не робот

Как использовать \n В текстовом поле

Я разрабатываю программу, в которой я использую строку (generatedCode), которая содержит некоторые \n для ввода новой строки в текстовом поле, которое я использую (textBox1.Text = generatedCode), но когда Я запускаю программу, вместо того, чтобы нарушать эту строку, я вижу квадрат.

Помните, что я установил значение Multiline textBox в True.

4b9b3361

Ответ 1

Замените\n на \r\n - то, как элементы управления Windows представляют символы новой строки (но см. примечание внизу):

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

или

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

Примечание. Как обсуждалось в комментариях, вы можете использовать Environment.NewLine. Однако неясно - не определено, какой элемент разделителя строк Windows Forms должен использовать, если он не работает в Windows. Должны ли они использовать платформу по умолчанию или одну Windows (как порт управления Windows GUI)? Один из примеров в MSDN использует Environment.NewLine, но до сих пор я видел ужасно неправильные примеры в MSDN, и в документации просто не указано, что должно быть.

В идеальном мире у нас будет только один разделитель строк - и даже во втором лучшем мире каждая ситуация будет четко определять, какой разделитель строк он ожидал...

Ответ 2

Обычно \r\n возвращает мне новую строку в текстовое поле. Попробуйте заменить \n на \r\n, просто будьте осторожны, у вас нет сочетания \r\n и \n

Ответ 3

так как использование \n проще в глазах (особенно при форматировании), а также иногда вы не контролируете, как создается исходная строка - я считаю, что наилучшей практикой является использование:
TextBox1.Text = str.Replace("\r\n", "\n").Replace("\n", Environment.NewLine);

Ответ 4

Добавьте возврат каретки (\ r), и он должен работать:

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