0

这样做

String t = "asd\nasd";

TextBox objTxt = (TextBox)messageBox;
bjTxt.Text = t;

不显示

asd    
asd

正如预期的那样,它显示

asdasd

为什么,它让我发疯。TextBox 设置为多行,我可以手动在其中写行。谢谢!

4

2 回答 2

2

TextBox不像LabelMessageBox忽略"\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

于 2013-03-19T22:10:35.730 回答
0

尝试使用Lines属性TextBox分配文件中的所有行:

textBox.Lines = File.ReadAllLines(fileName);

而且,正如我在上面的评论中所说,对于您的示例,您应该使用Environment.NewLine新行出现在TextBox

textBox.Text = "asd" + Environment.NewLine + "asd";
于 2013-03-19T22:16:28.923 回答