将文本框输出到文本文件不包括CR

时间:2018-03-06 15:19:44

标签: c#

我遇到了一个问题,即我创建了一个应用程序,用户将文本输入到各种文本框中。然后,他们单击一个按钮,将其全部输出到特定格式的文本日志文件中。

我创建了一个输出到文件的字符串,该字符串是从各种文本和各种表单元素的内容编译而来的。

当它输出时,作为字符串创建的一部分创建的每个单独的行输出CR LF(\ r \ n)这是我想要的,但任何输入到富文本框输出的文本都是只有LF(\ n)

代码如下:

string[] lines = {

     @"HEADER TEXT HERE",
     @"-----------------------------------------------",
     Text_Box.Text,
     Rich_Text_Box.Text,

........

Directory.CreateDirectory(@"\\basedirectory\" + project_name_tb.Text + @"\" + strDate);

System.IO.File.WriteAllLines(@"\\basedirectory\" + project_name_tb.Text + @"\" + strDate
+ @"\" + strDate + @"_" + project_name_tb.Text + @"_"
+ session_number_mtb.Text + @".txt", lines);

富文本框是多行的。

如何使富文本框输出CR LF?

2 个答案:

答案 0 :(得分:2)

您可以尝试用CRLF替换所有LF实例:

Rich_Text_Box.Text.Replace("\n", "\r\n")

答案 1 :(得分:1)

我认为这样可以解决您的问题,即使它已经安全了\ r \ n它也不会取代它。

    public string ReplaceRichTextBoxContent(string data)
    {
        return Regex.Replace(data, "(?<!\r)\n", "\r\n");
    }

一样使用它
string[] lines = {

 @"HEADER TEXT HERE",
 @"-----------------------------------------------",
 Text_Box.Text,
 ReplaceRichTextBoxContent(Rich_Text_Box.Text),