我有一个自定义RichTextBox派生自RichTextBox基类 . 其目的是显示格式化文本 . 但是,任何加载的Rtf都显示为简单文本而没有任何格式:字体,字体大小,字体样式等 .
我尝试了以下代码来加载Rtf :(注意:rtbEx是扩展的richtextbox控件; RTF是包含Rtf的字符串)
- 使用文件流:
FileStream tempFile = File.Open(@"C:\RTF.rtf", FileMode.Open);
tempFile.Position = 0;
rtbEx.LoadFile(tempFile, RichTextBoxStreamType.RichText);
tempFile.Close();
- 从指定路径加载:
rtbEx.LoadFile(@"C:\Users\Wilbur Omae\Desktop\RTF.rtf", RichTextBoxStreamType.RichText);
- 直接设置Rtf:
rtbEx.Rtf = RTF;
在检查rtbEx的Rtf时,它似乎是完美的Rtf,但它显示为纯文本 .
可能是什么问题?
更新1:自定义RichTextBox是自定义 Form
中的一个控件,它将显示为TabPage .
2 回答
作为一种解决方法,我确保只有在通过捕获
Form.Shown
事件显示表单时才设置Rtf,如下所示:我不知道为什么这个问题很复杂,但我希望这会有所帮助 .
还有其他方法吗?随意评论或回答 .
在这种情况下你可以使用剪贴板:
并粘贴它
它对我有用..尝试一下