12 Stimmen

Wie füge ich Text in ein mehrzeiliges Textfeld ein?

Ich muss Details zu meiner Datei in ein mehrzeiliges Textfeld eingeben. Aber alle Details werden in einer einzigen Zeile in das Textfeld eingefügt und nicht in vertikaler Reihenfolge. Ich habe Environment.NewLine verwendet und auch " \r\n ", aber das hilft nicht weiter. Ich habe das Feld für mehrzeiligen Text in einem Windows Forms-Formular markiert und auch auf true gesetzt, aber ohne Erfolg.

Meine Code-Zeile sieht folgendermaßen aus:

m_Txt.Multiline = true;

m_Txt.Text = fileInfo.m_Title + "\r\n" + 
             fileInfo.m_Identifier + Environment.NewLine + 
             fileInfo.m_TotalTime;

18voto

Falconeer Punkte 401

Eine sauberere Antwort wäre:

Angenommen, txtStatus ist ein Textfeld:

txtStatus.Multiline = True;
txtStatus.Clear();
txtStatus.Text += "Line 1" + Environment.NewLine;
txtStatus.Text += "Line 2" + Environment.NewLine;

Die Verwendung der eingebauten Aufzählung bedeutet saubereren Code.

12voto

JasonRShaver Punkte 4324

Umschalttaste+Eingabe

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.

2voto

Chris Doggett Punkte 18701

Wenn Sie es programmatisch machen, hängen Sie die neue Zeile an m_Txt.Lines an, das ein string[] ist.

m_Txt.Lines = new string[]{ fileInfo.m_Title, fileInfo.m_Identifier, fileInfo.m_TotalTime};

1voto

BlackWasp Punkte 4855

Ich weiß nicht, warum Ihr Code nicht funktioniert, es sei denn, es ist etwas anderes im Gange.

Ich habe gerade ein WinForms-Projekt mit C# erstellt, ein Textfeld hinzugefügt, es mehrzeilig eingestellt und den folgenden Code hinzugefügt - funktioniert einwandfrei.

textBox1.Text = "a\r\nb";

1voto

Ich habe gerade diesen Code geschrieben, der gut zu funktionieren scheint.

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;
        }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X