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

C# 打开保存的文件,其中包含对富文本所做的更改,c#,visual-studio,save,richtextbox,file-writing,C#,Visual Studio,Save,Richtextbox,File Writing,我是C语言的新手。我正在尝试构建一个记事本应用程序。这就是我如何写我的文件和保存我的富文本文件。但是,当我将文本设置为粗体并保存它并尝试打开保存的文件时,我看不到粗体文本。我只看到文件中的纯文本 我应该在代码中做哪些更改,以便在富文本框中看到所做的更改 var _myRichTextBox = (MyRichTextBox)myTabControlZ.TabPages[myTabControlZ.SelectedIndex].Controls[0]; if (saveFileDialog1.S

我是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);

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

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

_myRichTextBox.SaveFile(filename);
要再次加载内容,请使用以下方法


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

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

请试着告诉我它是否有效。您正在保存文本,但文本中没有格式。保存并加载Rtf。
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                String filename = saveFileDialog1.FileName;
                if (filename != "")
                {
                    _myRichTextBox.SaveFile(filename);
                }
            }