winform中richtextbox输出文本没有换行

在richtextbox中输入的是
w
wq
wqw
w
w
但是,输出后就变成了
w wq wqw w w
回车换行符号丢失的样子
试过将"\n"替换成"<br>",但是,结果是w<br>wq<br>wqw<br>w<br>w
"\r\n"的替换没有反应
急求!请高手相助!
输出保存为文本文件

第1个回答  推荐于2016-01-14
可以在写入文件之前, 把string 内容做一个替换:

string str = ritchBox.Text.replace( "\n", "\r\n");

然后把str写入文件本回答被提问者采纳
第2个回答  2008-09-11
richTextBox1.Clear();
richTextBox1.AppendText("a" + Environment.NewLine +
"b" + "\n" +
"c" + "\r" +
"d" + "\n\r" +
"e" + "\r\n" +
"f");

string text = richTextBox1.Text;
string rtf = richTextBox1.Rtf;
赋值后,
text中存储的字符串为:
"a\nb\nc\nd\n\ne\nf"

rtf中存储的字符串为:
"{\\rtf1\\ansi\\ansicpg936\\deff0\\deflang1033\\deflangfe2052{\\fonttbl{\\f0\\fnil\\fcharset134 \\'cb\\'ce\\'cc\\'e5;}}\r\n\\viewkind4\\uc1\\pard\\lang2052\\f0\\fs18 a\\par\r\nb\\par\r\nc\\par\r\nd\\par\r\n\\par\r\ne\\par\r\nf\\par\r\n}\r\n"

总结:
1、在RichTextBox中,换行符由只"\n"表示。
2、如果给RichTextBox赋值,"\r\n"、"\n"、"\r"都将被转换成"\n",由于"\n\r"不是"\r\n"组合,所以被当成2个"\n"对待。
第3个回答  2008-09-11
用\n 替换为\r\n
试试
第4个回答  2018-06-22
replace要大写啊,大哥,用Replace。这是C#,方法名大写,Java的方法名才小写。
补充下楼下的最佳答案。windows记事本需要"\r\n"才能读出换行,其他的文本编辑器不需要,如notepad++,\n就可以直接读出换行。所以用其他文本编辑器就会换行,即使不加string str = ritchBox.Text.replace( "\n", "\r\n");也可以换行。up可以去试试。
第5个回答  2008-09-11
楼主所说的"输出后"是怎么输出的?输出到哪里?

输出部分的代码贴出来看看.