将.rtf文件加载到富文本框中,并维护/保留格式

本文关键字:维护 格式 保留 文件 rtf 加载 文本 | 更新日期: 2023-09-27 18:34:34

全部,我将日志文件写入具有格式下划线,粗体等的.rtf文件中。我已经保存了这个文件,并希望稍后将其读回RichTextBox中,以保持其格式。我尝试了以下方法

tmpRichTextBox.LoadFile(@"F:'Path'File.rtf", RichTextBoxStreamType.RichText);

它加载文件,但没有我的原始格式。如果我将.rtf加载到 word 中,则会显示格式。如何将.rtf读回RichTextBox包括其格式?

谢谢你的时间。

将.rtf文件加载到富文本框中,并维护/保留格式

你检查过NRTFTree吗?

这是一个很棒的RTF管理库!

编辑:
稍后可能会在代码中丢失格式。某些操作可能会导致格式丢失。例如 richTextBox.Font = newFont;

遇到了这个问题,但幸运的是我找到了解决方法。以下是可让您在不丢失格式的情况下更改字体的代码:

richTextBox.SelectAll();
richTextBox.SelectionFont = newFont;
string rtf = richTextBox.SelectedRtf;
richTextBox.Font = newFont;
richTextBox.Rtf = rtf;

如果可以将日志文件保存为 html 格式,则可以使用 Web 浏览器控件读取此文件。喜欢这个:

  private void button1_Click(object sender, EventArgs e)
  {
     string fileName = Path.Combine(Environment.CurrentDirectory, "log1.htm");
      webBrowser1.DocumentText = File.ReadAllText(fileName);
   }

这非常有效。