Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 保存包含换行符的richtextbox数据,将其保存到文件中并使用记事本打开,在c中不会显示换行符#_C#_Winforms - Fatal编程技术网

C# 保存包含换行符的richtextbox数据,将其保存到文件中并使用记事本打开,在c中不会显示换行符#

C# 保存包含换行符的richtextbox数据,将其保存到文件中并使用记事本打开,在c中不会显示换行符#,c#,winforms,C#,Winforms,我正在使用c#中的windows窗体。我在richtextbox中有一些文本。我想把它保存在文本文件中。在richtextbox中,我同时使用了Environment.NewLine和“\r\n”作为换行符。如果我尝试手动将richtextbox数据复制到记事本中,它工作正常。但是如果我试图用 File.WriteAllText(路径,string.Concat(richtextbox.Text.ToString()) 或者sw.WriteLine(OutputBox.Text.ToString

我正在使用c#中的windows窗体。我在
richtextbox
中有一些文本。我想把它保存在文本文件中。在richtextbox中,我同时使用了
Environment.NewLine
“\r\n”
作为换行符。如果我尝试手动将
richtextbox
数据复制到记事本中,它工作正常。但是如果我试图用
File.WriteAllText(路径,string.Concat(richtextbox.Text.ToString())
或者
sw.WriteLine(OutputBox.Text.ToString())[此处sw用于
StreamWriter
]并使用windows记事本打开,它不显示换行符。但是如果我试着用记事本++打开它,它就工作了。谁能帮帮我吗?使用文本框提前感谢

设置属性多行:

textBox1.Multiline = true;
将其保存在文本文件中:

StreamWriter writer = new StreamWriter("c:\\test.txt", true);
writer.WriteLine(textBox1.Text);
writer.Flush();
writer.Close();
使用richtextbox

StreamWriter writer = new StreamWriter("c:\\test.txt", true);

foreach (string l in richTextBox1.Lines)
{
    writer.WriteLine(l);
}

writer.Flush();
writer.Close();
请尝试以下方法:

File.WriteAllLines(path, richTextBox1.Lines);

建议在有多行的richtexbox时使用此选项。

我认为File.writealText应该正确地保留换行符。尝试用十六进制编辑器打开保存的文件,查看“0D 0A”应该在哪里的ascii码…我认为它会将\r\n转换为{par},然后在保存到\n时转换为。有些编辑器太笨,无法理解\n。。