С# - Проблемы с новой текстовой областью
У меня есть текстовое поле, и я пытаюсь распечатать его со следующей строкой кода:
logfiletextbox.Text = logfiletextbox.Text + "\n\n\n\n\n" + o + " copied to " + folderlabel2.Text;
Если folderlabel 2, очевидно, является текстовым полем. Первое, что я вложил, - это одно и то же текстовое поле, чтобы текст не стирался. Излишние новые строки доказали мою проблему, потому что в текстовом поле нет новых строк (да, задано многострочным). "O" имеет тип FileInfo в массиве FileInfo.
Почему эти строки новой строки не отображаются в текстовом поле?
Ответы
Ответ 1
Используйте "\ r\n" вместо "\n". Текстовым полям Windows требуется CRLF в качестве ограничителей строк, а не только LF.
Потенциально вы могли бы использовать Environment.NewLine
вместо этого, но я не знаю, что Mono TextBoxes делает с точки зрения работы с "\n" (это то, что Environment.NewLine
будет в ящике Linux). Если он начнет добавлять лишние вещи в конце, если вы используете "\ r\n" , то это сломает множество существующих приложений, но если это потребует "\ r\n" , это приведет к разорению приложений, которые используют Environment.NewLine
.
Environment.NewLine
означает новую линию по умолчанию для всей платформы, на которой вы работаете, но что, если вы используете набор инструментов виджета, который делает одно, но текстовые файлы обычно делают что-то еще? Честно говоря, это немного беспорядок. Было бы неплохо, если бы существовало отдельное свойство TextBox.NewLine
, которое могли бы обрабатывать различные реализации.
Ответ 2
Я считаю, что TextBoxes хочет Environment.NewLine
(который должен быть "\ r\n" )
Обратите внимание, что это должен быть возврат каретки (\ r), за которым следует новая строка (\n). Если вы измените порядок, это не сработает.
Ответ 3
Элемент управления TextBox ожидает возврата каретки перед вашими линиями (0x0D 0x0A). Используйте "\r\n"
или System.Environment.Newline
.
Ответ 4
вместо использования \n мы можем использовать
Environment.NewLine
Я надеюсь, что это поможет
Ответ 5
Вот как я создал append и новую строку для отображения
txtitems.Text = txtitems.Text + Environment.NewLine + dr [0].ToString() + "" + dr [1].ToString();
Ответ 6
Любой, кто использует VB.net, находится в поиске vbCr
Вот пример:
верните "Мое имя" и vbCr и "John" и vbCr и "Doe"