[英]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.