【发布时间】:2010-11-09 12:03:27
【问题描述】:
我有一个 RichTextBox,我想将文本保存到文件中。 RichTextBox 的每一行都以 CR+LF ("\n\r") 结尾,但是当我将其保存到文件时,这些行只包含末尾的 LF 字符。
如果我将内容复制到剪贴板而不是文件,一切正常(剪贴板的内容在每一行的末尾都有 CR+LF,当我粘贴到 Notepad++ 时可以看到它)。 txtClass 是 RichTextBox。
private void btnToClipboard_Click(object sender, EventArgs e) { //按需要工作 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
以及所有可用的编码。
如果我使用 SW.Write("Line One\r\nLineTwo\r\nLineThree") 也可以正常工作。
感谢您的帮助
【问题讨论】:
-
您是否尝试过位于 RichTextBox 本身的 SaveFile 方法? msdn.microsoft.com/en-us/library/…
-
txtClass.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.PlainText);完美地工作。谢谢!
-
@Jonathan- 你能在这个问题上添加 Mr.Lindholms 的答案并将其标记为答案吗?我已经两次碰到你的问题了,因为它仍然没有回答:)
-
@Peter Lillevold - 当然!
标签: c# richtextbox iostream newline