将.rtf文件加载到RichTextBox并维护/保留格式

时间:2012-05-18 17:36:40

标签: c# winforms richtextbox richtext

全部,我将日志文件写入.rtf文件,该文件具有格式下划线,粗体等。我已保存此文件,并希望稍后将其读回RichTextBox,并保持其格式化。我试过以下

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

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

感谢您的时间。

3 个答案:

答案 0 :(得分:1)

您是否检查了NRTFTree

它是一个非常棒的RTF管理库!

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:1)

如果您可以将日志文件保存为html格式,则可以使用WebBrowser Control读取此文件。 像这样:

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

      webBrowser1.DocumentText = File.ReadAllText(fileName);
   }

这完全有效。