无法在C#Windows窗体应用程序中向RichTextBox添加脚注

无法在C#Windows窗体应用程序中向RichTextBox添加脚注,c#,winforms,richtextbox,footnotes,C#,Winforms,Richtextbox,Footnotes,我正在使用C#Windows窗体应用程序中的RichTextBox。正在尝试向RTB中的当前内容添加脚注(而不是页脚)。当我在RTF中添加\footnote标记时,它不会将RTF添加到现有RTF中。当我删除它时,即基本上只添加文本时,它就工作了 这无法添加:{\rtf1\ansi\chftn{\footnote\pard\plain\s246 \fs20{\up6\chftn}测试} 这将正确添加:{\rtf1\ansi 1.} 有人能解释一下如何让它工作吗?当然可能RTB不支持这一点,因为

我正在使用C#Windows窗体应用程序中的
RichTextBox
。正在尝试向RTB中的当前内容添加脚注(而不是页脚)。当我在RTF中添加\footnote标记时,它不会将RTF添加到现有RTF中。当我删除它时,即基本上只添加文本时,它就工作了

  • 这无法添加:{\rtf1\ansi\chftn{\footnote\pard\plain\s246
    \fs20{\up6\chftn}测试}
  • 这将正确添加:{\rtf1\ansi 1.}

有人能解释一下如何让它工作吗?

当然可能RTB不支持这一点,因为默认情况下它使用的是旧的RTF版本。查看哪一个版本可以提供解决方法。@stuartd
RICHEDIT50W
版本是.Net Framework 4.7的标准版本--@wpvking如果您使用的是较旧版本的框架,请更新到.Net Framework 4.8,或者迁移到.Net 5.0。您可以在写字板中测试RTF的功能。请注意,RTF标记的不同实现将生成不同的结果,并且不支持某些规则。如果您的测试在写字板中工作,它们应该在RichTextBox控件中工作。您可以复制写字板生成的RTF并在RTB控件中测试。-需要注意的是,RichTextBox控件是
mstfedit
的一个简化包装:此控件中的高级印刷选项(其中包括处理段落合成增强)被禁用。看起来RTB确实不兼容。我粘贴了脚注部分,并在Word中打开,脚注可见。在RTB中查看它会丢弃该部分文本。但在写字板中不起作用。