Зачем нужен c# textbox.AppendText() новые строки исчезают при использовании n в качестве Терминатора строк?


Я использую многострочное текстовое поле, и я получаю поведение, которое не могу полностью объяснить. Я использую

 textbox.AppendText("line n"); 

Для добавления новой строки в текстовое поле. При использовании этого 3 раза, я получаю

line 
line 
line

Отображается в текстовом поле. Теперь я изменяю размер текстового поля. Текст становится

line line line 

То есть новые строки исчезают. Я знаю, что должен использовать

 textbox.AppendText("line "+ Environment.Newline);
Таким образом, я знаю, как решить проблему. Я хотел бы знать, почему при использовании "n" новые строки сначала появляются, но исчезают при изменении размера.
2 7

2 ответа:

При изменении размера этот символ "\n "удаляется, так как изменение размера также управляет созданием и удалением новой строки на основе системы "\n".ОКР.Новая строка никогда не опускается.

Вместо строки, которая выглядит так:

textbox.AppendText("line \n"); 

Вместо этого следует использовать следующую строку:

textbox.AppendText("line "+ Environment.NewLine);

Это происходит потому, что новая строка для unix-это \n, но для не-unix (то есть Windows) это \r\n. При изменении размера коробки заменяется системная новая строка, поэтому, если у вас есть только \n, она будет потеряна при изменении размера.

Ссылка: MSDN: окружающая среда.Свойство Новой Строки