从Android读取.text时,新行消失

时间:2013-03-19 22:00:33

标签: c# string textbox multiline

这样做

String t = "asd\nasd";

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

不显示

asd    
asd

如预期的那样,显示

asdasd

为什么,它让我疯狂。 TextBox设置为多行,我可以手动编写行。谢谢!

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

尝试使用Lines的{​​{1}}属性来分配文件中的所有行:

TextBox

正如我在上面的评论中所述,对于您的示例,您应该使用textBox.Lines = File.ReadAllLines(fileName); 新行显示在Environment.NewLine中:

TextBox