У меня есть RichTextBox, и я хочу сохранить текст в файл. Каждая строка RichTextBox заканчивается CR + LF («\ n \ r»), но когда я сохраняю ее в файле, строки содержат только символ LF в конце.Запись содержимого RichTextBox в файл
Если я копирую содержимое в буфер обмена, а не файл, все идет правильно (содержимое буфера обмена имеет CR + LF в конце каждой строки, я могу видеть его, когда вставляю в Notepad ++). txtClass - RichTextBox.
частная пустота btnToClipboard_Click (объект отправителя, EventArgs е) { // Работы по желанию Clipboard.SetText (txtClass.Text); }
private void btnToFile_Click(object sender, EventArgs e)
{
//Don't work as desired
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
saveFileDialog1.FilterIndex = 2;
saveFileDialog1.RestoreDirectory = true;
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
System.IO.StreamWriter SW = new System.IO.StreamWriter(saveFileDialog1.FileName, false, Encoding.ASCII);
SW.Write(txtClass.Text);
SW.Close();
}
}
В этот момент, я также попытался с
SW.NewLine = "\r\n";
SW.Newline = Environment.NewLine
и со всеми Enconding avalilables.
Если я использую SW.Write («Line One \ r \ nLineTwo \ r \ nLineThree») также отлично работает.
Спасибо за вашу помощь
ли вы попробовать метод SAVEFILE, расположенный на самой RichTextBox? http://msdn.microsoft.com/en-us/library/system.windows.forms.richtextbox.savefile(VS.71).aspx –
txtClass.SaveFile (saveFileDialog1.FileName, RichTextBoxStreamType.PlainText); Работал отлично. Благодаря! – Jonathan
@ Джонатан. Не могли бы вы добавить ответ г-на Линдхольмса на этот вопрос и отметить его как ответ? Я наткнулся на ваш вопрос дважды, так как его еще не ответил :) –