这样做
String t = "asd\nasd";
TextBox objTxt = (TextBox)messageBox;
bjTxt.Text = t;
不显示
asd
asd
正如预期的那样,它显示
asdasd
为什么,它让我发疯。TextBox 设置为多行,我可以手动在其中写行。谢谢!
TextBox
不像Label
和MessageBox
忽略"\n"
,所以如果你想进入换行符,你需要使用"\r\n"
组合。尽管如此,有一个更好的解决方案,只需使用Environment.NewLine
,您就不需要考虑 \r\n 组合换行符。
任何一个:
String t = "asd\r\nasd";
或者:
String t = "asd" + Environment.NewLine + "asd";
美妙之Environment.NewLine
处在于,在您正在开发的任何环境中都无需担心换行符(或者至少应该是这样)。
编辑:
看到你的评论,我补充几句。您仍然可以使用ReadToEnd()
,如果文本仅包含换行符“\n”,您可以执行以下操作:
t = t.Replace("\n", "\r\n");
或者:
t = t.Replace("\n", Environment.NewLine);
因为Environment.NewLine
本质上是一个string
尝试使用Lines
属性TextBox
分配文件中的所有行:
textBox.Lines = File.ReadAllLines(fileName);
而且,正如我在上面的评论中所说,对于您的示例,您应该使用Environment.NewLine
新行出现在TextBox
:
textBox.Text = "asd" + Environment.NewLine + "asd";