Как добавить текст в многострочном текстовом поле?
Мне нужно добавить детали моего файла в многострочное текстовое поле. Но все детали добавляются в одну строку в текстовое поле, а не в вертикальную последовательность. Я использовал Environment.NewLine, а также использовал "\ r\n", но это не помогло. Я пометил многострочное текстовое поле в форме Windows Forms и также установил его в true, но безрезультатно.
Моя строка кода выглядит так:
m_Txt.Multiline = true;
m_Txt.Text = fileInfo.m_Title + "\r\n" +
fileInfo.m_Identifier + Environment.NewLine +
fileInfo.m_TotalTime;
Ответы
Ответ 1
Более чистый ответ:
Предполагая, что txtStatus является текстовым полем:
txtStatus.Multiline = True;
txtStatus.Clear();
txtStatus.Text += "Line 1" + Environment.NewLine;
txtStatus.Text += "Line 2" + Environment.NewLine;
Использование встроенного перечисления означает более чистый код.
Ответ 2
Shift + Enter
In the Visual Studio resource editor, you can hit "Shift + Enter"
to create a new line, as doing something like "\r\n" will get escaped
out. You will also need to increase the cell height to see both
lines as it does not auto-size.
Ответ 3
Если вы делаете это программно, добавьте новую строку в m_Txt.Lines, которая является строкой [].
m_Txt.Lines = new string[]{ fileInfo.m_Title, fileInfo.m_Identifier, fileInfo.m_TotalTime};
Ответ 4
Не уверен, почему ваш код не будет работать, если что-то еще не происходит.
Я только что создал проект WinForms с использованием С#, добавил текстовое поле, установил его многострочный и добавил следующий код - работает прелесть.
textBox1.Text = "a\r\nb";
Ответ 5
Я просто написал этот код, кажется, работает нормально.
public void setComments(String comments)
{
String[] aux;
if(comments.Contains('\n')) //Multiple lines comments
{
aux = comments.Split('\n');
for (int i = 0; i < aux.Length; i++)
this.textBoxComments.Text += aux[i] + Environment.NewLine;
}
else //One line comments
this.textBoxComments.Text = comments;
}