文本框多行在winforms应用程序
本文关键字:winforms 应用程序 文本 | 更新日期: 2023-09-27 18:15:33
如何在winforms应用程序的文本框中插入新行:
textBox2.Text += "a";
textBox2.Text += "'n";
textBox2.Text += "b";
但是我得到一行即使我把文本框改成multiline:
如何解决这个问题?
使用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
也可以做到这一点,你不必为"如何表示换行符"而烦恼。