将RichTextBox保存为rtf或html文件时保存背景颜色?

时间:2014-02-16 04:27:32

标签: c# winforms richtextbox background-color

我目前正在尝试将文本从richtextbox保存到RTF文件。我有它的工作,所以我可以将文本保存为带有彩色文本的rtf文件。但是,我想在文档中保留框的背景颜色以供查看。

我愿意将数据保存到rtf或html,只要我可以保留所有颜色编码的文本,并在文档中显示适当的背景颜色。

下面是我用来保存为带有彩色编码文本的RTF文件的代码。

private void saveToolStripMenuItem_Click(object sender, EventArgs e)
{
    SaveFileDialog saveFile1 = new SaveFileDialog();

    // Initialize the SaveFileDialog to specify the RTF extension for the file.
    saveFile1.DefaultExt = "*.rtf";
    saveFile1.Filter = "RTF Files|*.rtf";

    // Determine if the user selected a file name from the saveFileDialog. 
    if (saveFile1.ShowDialog() == System.Windows.Forms.DialogResult.OK && saveFile1.FileName.Length > 0)
    {
        // Save the contents of the RichTextBox into the file.
        richtextbox.SaveFile(saveFile1.FileName, RichTextBoxStreamType.RichText);
    }
}

编辑: 我发现以下代码可以将我的背景文本突出显示为RTF文件。目前这有效,但我仍然希望得到更好解决方案的意见。

在Savefile对话框打开语句之前放置代码。

        richtextbox.SelectAll();
        richtextbox.SelectionBackColor = richtextbox.BackColor;
        richtextbox.DeselectAll();

1 个答案:

答案 0 :(得分:0)

到目前为止,我的解决方案是在Savefile对话框之前执行以下操作:

    richtextbox.SelectAll();
    richtextbox.SelectionBackColor = richtextbox.BackColor;
    richtextbox.DeselectAll();