我遇到了一个问题,即我创建了一个应用程序,用户将文本输入到各种文本框中。然后,他们单击一个按钮,将其全部输出到特定格式的文本日志文件中。
我创建了一个输出到文件的字符串,该字符串是从各种文本和各种表单元素的内容编译而来的。
当它输出时,作为字符串创建的一部分创建的每个单独的行输出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?
答案 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),