С#: как вставить строку, содержащую новые строки в TextBox?
Как вы вставляете строку, содержащую новые строки в TextBox?
Когда я делаю это с помощью \n
в качестве нового символа строки, он не работает.
Ответы
Ответ 1
Вы должны установить для многострочного свойства текстового поля значение true, и вы можете использовать
Environment.NewLine
в качестве новой строки char.
Вы также можете использовать \r\n вместо Environment.NewLine
TextBox1.Text = "First line\r\nSecond line"
Ответ 2
Как и другие ответы, вы должны установить .Multiline = true
, но я не думаю, что вам нужно использовать свойство Lines
. Если у вас уже есть текст в виде одной строки, вы можете присвоить его свойству Text
как обычно. Если ваша строка содержит '\n' в качестве разделителей, вы можете заменить ее на текущую новую строку:
textBox1.Text = myString.Replace("\n", Environment.NewLine);
Ответ 3
Первый способ:
textbox1.Text = "First " + System.Environment.NewLine + " Second";
Второй способ:
textbox1.Text = "First \r\n Second";
Ответ 4
Сначала установите для свойства TextBox.Multiline значение true. Затем вы можете присвоить свойству TextBox.Lines массив строк.
textbox.Lines = s.Split('\n');
Ответ 5
Во-первых, вам нужно установить для свойства TextBox.Multiline значение true.
Затем вам нужно получить текст в текстовое поле, у вас есть два варианта для этого.
-
Задайте строки как массив строк:
textbox.Lines= s.Split('\n');
-
В противном случае вам нужно использовать конец строки Windows ( "\ r\n" ), а не конец строки unix/c ( "n" ) при настройке текста. Это можно сделать, используя Environment.NewLine, если вы хотите сделать код более понятным.
textBox1.Text = myString.Replace( "\n", Environment.NewLine);
Если вы хотите, чтобы ваш код справлялся с обоими типами контуров строк, вы можете вырезать "\ r", прежде чем делать одно из указанных выше. Линейные терминаторы в укусах все еще намного больнее, чем они должны быть!