这样做
String t = "asd\nasd";
TextBox objTxt = (TextBox)messageBox;
bjTxt.Text = t;
不显示
asd
asd
如预期的那样,显示
asdasd
为什么,它让我疯狂。 TextBox设置为多行,我可以手动编写行。谢谢!
答案 0 :(得分:2)
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
答案 1 :(得分:0)
尝试使用Lines
的{{1}}属性来分配文件中的所有行:
TextBox
正如我在上面的评论中所述,对于您的示例,您应该使用textBox.Lines = File.ReadAllLines(fileName);
新行显示在Environment.NewLine
中:
TextBox