Зачем нужен c# textbox.AppendText() новые строки исчезают при использовании n в качестве Терминатора строк?
Я использую многострочное текстовое поле, и я получаю поведение, которое не могу полностью объяснить. Я использую
textbox.AppendText("line n");
Для добавления новой строки в текстовое поле. При использовании этого 3 раза, я получаю
line
line
line
Отображается в текстовом поле. Теперь я изменяю размер текстового поля. Текст становится
line line line
То есть новые строки исчезают. Я знаю, что должен использовать
textbox.AppendText("line "+ Environment.Newline);
Таким образом, я знаю, как решить проблему. Я хотел бы знать, почему при использовании "n" новые строки сначала появляются, но исчезают при изменении размера.2 ответа:
При изменении размера этот символ "\n "удаляется, так как изменение размера также управляет созданием и удалением новой строки на основе системы "\n".ОКР.Новая строка никогда не опускается.
Вместо строки, которая выглядит так:
textbox.AppendText("line \n");
Вместо этого следует использовать следующую строку:
textbox.AppendText("line "+ Environment.NewLine);
Это происходит потому, что новая строка для unix-это
\n
, но для не-unix (то есть Windows) это\r\n
. При изменении размера коробки заменяется системная новая строка, поэтому, если у вас есть только\n
, она будет потеряна при изменении размера.