So I've got some lines in my richtextbox, but when i click btnSaveLog, it saves, but everything is on one line...
I have to use a richtextbox to show all info. I've seen it does show the lines with Wordpad, but i'm saving it as a *.log file, so i'm using notepad.
Any solutions for this problem?

Code:
TextWriter stwLog = new StreamWriter("data.log");
stwLog.WriteLine(richTextBox1.Text);
stwLog.Close();

Recommended Answers

All 8 Replies

StreamWriter stwLog = new StreamWriter("data.log");
stwLog.WriteLine(richTextBox1.Text);
// Depending on what your doing just using write might be easier so try it out.
stwLog.Close();

Replace \n with \r\n (CRLF).

string str = richTextBox1.Text.Replace("\n", "\r\n");
 ....            
 tw.WriteLine(str);
 tw.Close();
commented: That's the answer (Y) +6

Try this: File.WriteAllLines("data.log", richTextBox1.Lines);

Try this: File.WriteAllLines("data.log", richTextBox1.Lines);

Works perfectly!
But how do i append that text? i don't want to delete previous log..

Try this: File.WriteAllLines("data.log", richTextBox1.Lines);

Works perfectly!
But how do i append that text? i don't want to delete previous log..

Use the File.AppendAllLines method.

Haven't got such a method... i'm using System.IO;
any other libraries needed?

Apparently, the File.AppendAllLines method is new with .NET 4. Fortunately, the "long way" isn't all that complicated. This method uses an overload of the StreamWriter constructor that contains a boolean parameter to indicate whether or not to append to a file rather than simply overwriting it.

private void button1_Click(object sender, EventArgs e)
{
    string path = @"C:\Temp\writerdemo.txt";

    using (StreamWriter writer = new StreamWriter(path, true))
    {
        foreach (string line in richTextBox1.Lines)
            writer.WriteLine(line);
    }
}

You are my hero :)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.