Подтвердить что ты не робот

С#: как вставить строку, содержащую новые строки в TextBox?

Как вы вставляете строку, содержащую новые строки в TextBox?

Когда я делаю это с помощью \n в качестве нового символа строки, он не работает.

4b9b3361

Ответ 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", прежде чем делать одно из указанных выше. Линейные терминаторы в укусах все еще намного больнее, чем они должны быть!