换行符未在文本框中正确显示

时间:2012-04-01 22:35:47

标签: c# winforms string textbox

我从我的数据库加载string,其中包含换行符(\r\n)。但是,这不是作为新行呈现,而是呈现为\r\n

如果我直接输入它而不是从字符串加载它,它可以正常工作,但我需要能够从字符串中加载它。

有什么想法吗?

编辑:仔细检查后,看起来字符串返回为:

Changed test7\\r\\nChanged test8\\r\\nChanged test9Changed test7

来自数据库。

我尝试在其上运行.Replace(@"\\", @"\"),但这根本没有效果。有什么想法吗?

5 个答案:

答案 0 :(得分:5)

这个怎么样?

string yourString="something\r\n..somethingMore";
yourString=yourString.replace("\r\n",Environment.NewLine);
yourTextBox.Text=yourString;

此解决方案是否符合您的要求?

答案 1 :(得分:2)

致电.Replace(@"\r", "\r").Replace(@"\n", "\n")

或仅.Replace(@"\r\n", "\r\n")

答案 2 :(得分:1)

TextBox上的Multiline属性是否设置为true?

答案 3 :(得分:1)

当您拨打.Replace功能时,您的字符串附加@。通过这样做,您的@"\\"会转换为"\\\\",而您的@"\"会转换为"\\"

尝试运行.Replace("\\", "\"),它应该有效。

答案 4 :(得分:1)

这不起作用.Replace("\\", "\"),因为它将反斜杠视为转义符,但奇怪的是,它应该在以下情况下起作用:.Replace(@"\\", @"\")

我开始工作的是:

.Replace("\\r\\n", "\r\n");