簡體   English   中英

WinForms應用程序中的TextBox MultiLine

[英]TextBox MultiLine within winforms application

如何在Winforms應用程序的文本框中插入新行:

 textBox2.Text += "a";
 textBox2.Text += "\n";
 textBox2.Text += "b"; 

但是即使我使文本框成為多行,我也只能得到一行:

如何解決此問題?

使用Environment.NewLine

textbox.Multiline = true;
textbox.Text += "a" + Environment.NewLine + "b";

對於Windows操作系統,您應該在新行上寫\\r\\n

對於Mac OS,您只能使用\\n

Environment.NewLine將適用於兩種操作系統。 因此,您可以使兩個平台通用的代碼。 因此,在為兩個操作系統創建應用程序代碼時,請避免在字符串中使用\\n\\r\\n

在您的情況下,可以使用String.Format來避免多重連接,如果長時間使用它會降低性能。

textBox2.Text = String.Format("ABCD{0}XYZ", Environment.NewLine);

如果您要串聯一串線,那么有更好的方法來做到這一點。 您可以為此使用StringBuilder類。

StringBuilder sb = new StringBuilder();

foreach(string line in Lines)
{
    sb.AppendLine(line);
    //or 
    //sb.AppendFormat("My line: {0}{1}", line, Environment.NewLine);
}
textBox2.Text = sb.ToString();

當您組合多行時, StringBuilder.AppendLine()也可用於添加行。

正如Brian所說,您需要CRLF,這意味着:

textBox2.Text += "a";
textBox2.Text += "\r\n";
textBox2.Text += "b";

但是,正如Amir正確地說的那樣, Environment.NewLine也可以解決問題,您不必擔心“換行符的表示方式”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM