保存/复制到文本文件时,C#Environment.Newline不起作用

时间:2015-08-12 12:49:10

标签: c#

我正在制作一个C#应用程序,我使用

从Rich TextBox复制文本
if(!string.IsNullOrEmpty(richTextBox1.Text))
        {
            Clipboard.SetText(richTextBox1.Text);

        }

我将Rich TextBox代码设置如下

richTextBox1.Text = file + Environment.NewLine + r + Environment.NewLine + r1 + Environment.NewLine + r2 + Environment.NewLine + r3 + Environment.NewLine + r4 + Environment.NewLine + r5 + Environment.NewLine + r6 + Environment.NewLine + r7 + Environment.NewLine + r8 + Environment.NewLine + r9 + Environment.NewLine + r10 + Environment.NewLine + r11 + Environment.NewLine + r12 + Environment.NewLine + r13;

另外,我使用

将Rich TextBox文本保存为.txt文件
if (!string.IsNullOrEmpty(richTextBox1.Text))
         { SaveFileDialog saveFileDialog1 = new SaveFileDialog();
            saveFileDialog1.Filter = "Text File|*.txt";
            saveFileDialog1.Title = "Export EXIF Data";

            //  saveFileDialog1.RestoreDirectory = true;
           DialogResult save =  saveFileDialog1.ShowDialog();
            if (save == DialogResult.OK)
            {
                if (saveFileDialog1.FileName != "")
                {

                    File.WriteAllText(saveFileDialog1.FileName, richTextBox1.Text);
                }

            }

现在我面临的问题是,在Rich TextBox中,文本逐行出现,我曾使用过Environment.NewLine 例如

line 1
line 2
line 3

但复制/保存后,.txt文件显示为

line 1line 2line 3

另外,如果我使用KeyBoard短语Ctrl + C复制文本,文本文本中的文本就会正常显示。

我希望你理解我的问题,并能帮助我。 如果需要,我可以提供更多细节。

更新 我能够通过使用string []而不是像以下字符串将richTextBox文本保存到.txt文件来解决问题:

新代码:

 data = new String[] { file, r, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13 };
                 richTextBox1.Text = data[0] + Environment.NewLine + data[1] + Environment.NewLine + data[2] + Environment.NewLine + data[3] + Environment.NewLine + data[4] + Environment.NewLine + data[5] + Environment.NewLine + data[6] + Environment.NewLine + data[7] + Environment.NewLine + data[8] + Environment.NewLine + data[9] + Environment.NewLine + data[10] + Environment.NewLine + data[11] + Environment.NewLine + data[12] + Environment.NewLine + data[13] + Environment.NewLine + data[14];
//Saving:
File.WriteAllLines(saveFileDialog1.FileName, data);

旧代码:

richTextBox1.Text = file + Environment.NewLine + r + Environment.NewLine + r1 + Environment.NewLine + r2 + Environment.NewLine + r3 + Environment.NewLine + r4 + Environment.NewLine + r5 + Environment.NewLine + r6 + Environment.NewLine + r7 + Environment.NewLine + r8 + Environment.NewLine + r9 + Environment.NewLine + r10 + Environment.NewLine + r11 + Environment.NewLine + r12 + Environment.NewLine + r13;
//Saving:
File.WriteAllText(saveFileDialog1.FileName, richTextBox1.Text);

但是复制仍无法正常工作

1 个答案:

答案 0 :(得分:1)

试试这个:

File.WriteAllLines(saveFileDialog1.FileName, richTextBox1.Lines);