打开保存的文件,其中包含对富文本所做的更改

Posted

技术标签:

【中文标题】打开保存的文件,其中包含对富文本所做的更改【英文标题】:Open the saved file with the changes made to the Rich text 【发布时间】:2018-04-05 10:31:51 【问题描述】:

我是 C# 新手。我正在尝试构建一个记事本应用程序。这就是我尝试编写文件并保存富文本文件的方式。但是当我将文本加粗并保存并尝试打开保存的文件时,我看不到粗体文本。我只看到文件内的纯文本。

我应该在我的代码中进行哪些更改,以便我可以在富文本框中看到我所做的更改?

var _myRichTextBox = (MyRichTextBox)myTabControlZ.TabPages[myTabControlZ.SelectedIndex].Controls[0];

if (saveFileDialog1.ShowDialog() == DialogResult.OK)

    String filename = saveFileDialog1.FileName;
    if (filename != "")
    
        File.WriteAllText(filename, "");
        StreamWriter strw = new StreamWriter(filename);
        strw.Write(_myRichTextBox.richTextBox1.Text);

【问题讨论】:

试试 this answer 并告诉我它是否有效 您正在保存文本,但文本中没有任何格式。保存(并加载)Rtf. 【参考方案1】:

问题是您没有保存格式信息。您只保存纯字符串内容。 RichTextBox 有工具可以实现这一点。

这里最简单的解决方案是使用RichTextBox.SaveFile 方法。它将保存为*.RTF 文件,并确保格式保持不变。

_myRichTextBox.SaveFile(filename);

要再次加载内容,请使用RichTextBox.LoadFile 方法

_myRichTextBox.LoadFile(filename);

【讨论】:

【参考方案2】:

您应该将其保存为 .rtf 以保存任何格式。

if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            
                String filename = saveFileDialog1.FileName;
                if (filename != "")
                
                    _myRichTextBox.SaveFile(filename);
                
            

【讨论】:

以上是关于打开保存的文件,其中包含对富文本所做的更改的主要内容,如果未能解决你的问题,请参考以下文章

selenium对富文本的操作

有啥方法可以保存用户对 HTML 页面所做的所有更改?

selenium对富文本框的处理

将多行绑定到文本框以进行编辑+更新

官方core-ktx库能对富文本Span开发带来哪些便利?

Qt中富文本处理