将数据附加到RichTextBox中的已保存文件

时间:2013-12-03 09:48:30

标签: c# richtextbox

使用(文本是彩色编码的)

从RichTextBox以.rtf格式写入数据
 RichTextBox .SaveFile(path);

点击图形用户界面上有一个“清除文字”按钮,清除RichTextBox。

当在RichTextBox上打印新数据而不是附加数据RichTextBox .SaveFile(path)方法清除以前的数据并且仅包含新添加的数据时,会出现问题。

我如何追加数据? StreamWriter使用.RTF中需要的纯文本数据。

有人可以帮我吗?

3 个答案:

答案 0 :(得分:1)

您可以将以前的数据保存在变量中,将richTextBox的数据设置为previous + new,然后调用SaveFile方法。

答案 1 :(得分:1)

似乎从富文本框保存会覆盖文件。您可以查看thisthis了解详情。

建议的一些解决方案是保存到不同的文件,或者读取,连接和保存。

答案 2 :(得分:0)

由于您已经从注释中读取内容,因此无法将文本附加到RTF文件。 但是,您可以做的是使用2个RichEdit控件,其中一个控件使用EM_STREAMIN消息读取流(这将保留char格式)并将新数据连接到其中。为了保留来自其他RichEdit控件(颜色,字体等)的新数据的char格式,必须在选择要连接的新数据时使用EM_GETCHARFORMAT消息。然后,您需要将EM_SETCHARFORMAT消息与SCF_SELECTION OR SCF_WORD一起使用,以在RichEdit控件上设置将所有数据保存在一起的char格式。之后,使用EM_REPLACESEL消息将所有数据连接在一起。最后,使用EM_STREAMOUT消息一次性保存所有流。