Майк Шепард предоставил ключевой указатель в комментарии к вопросу:
Ваша строка отсутствовала `
до r
, чтобы `r`n`
расширился до CRLF newline - то есть в стиле Windows перевод строки состоит из символа CR ("`r"
), за которым сразу следует LF символ ("`n"
).
Таким образом:
$objTextBox3.Text = "TEST-" + $objTextBox2.Text + " FirstLine" + " (P) `r`n TEST-" +
$objTextBox2.Text + "SecondLine" + " (P)"
Обратите внимание, что пробелы вокруг `r`n
сохраняются.
В отличие от самого PowerShell - который обычно принимает CRLF, LF и CR новые строки взаимозаменяемо - WinForms [System.Windows.Forms.TextBox]
элемент управления с .Multiline
, установленным на $True
распознает последовательности CRLF как новые строки с точки зрения отображения.
LF (-только) символ новой строки - который ваша строка ошибочно, но фактически использовалась - тихо игнорируется , когда отображает строку в графическом интерфейсе (хотя она сохраняется в свойство .Text
элемента управления).