Как добавить текст в многострочном текстовом поле?

Мне нужно добавить детали моего файла в многострочное текстовое поле. Но все детали добавляются в одну строку в текстовое поле, а не в вертикальную последовательность. Я использовал 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;
        }