Почему символы c # textbox.AppendText () исчезают при использовании \ n в качестве ограничителя строки? - PullRequest
8 голосов
/ 05 ноября 2010

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

 textbox.AppendText("line \n"); 

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

line 
line 
line

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

line line line 

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

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

Так что я знаю, как решить проблему. Я хотел бы знать, почему при использовании «\ n» символы новой строки изначально появляются, но исчезают при изменении размера.

Ответы [ 2 ]

3 голосов
/ 10 декабря 2014

Вместо строки, которая выглядит следующим образом:

textbox.AppendText("line \n"); 

вы должны использовать эту строку вместо:

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

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

Ссылка: MSDN: Environment.NewLine Свойство

3 голосов
/ 05 ноября 2010

При изменении размера этот символ "\ n" удаляется, так как изменение размера также контролирует создание и удаление новой строки на основе "\ n", System.Env.NewLine никогда не пропускается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...