使用 RTF 使超链接在富文本框中工作

Getting Hyperlinks Working in Rich Text Box Using RTF

我正在尝试使用 RTF 格式在 RTF 框中设置超链接的格式。多亏了这个 , for example making text bold. However I cannot get the RTF formatted hyperlink to work. I found an example of making an RTF link here,我可以让基本格式正常工作。但是,当我尝试将其放入如下所示的富文本框中时,它会导致我的应用程序崩溃。关于我在这里遗漏的任何建议?

string my_hyperlink_text = @"{\field{\*\fldinst HYPERLINK \"http://www.google.com/\"}{\fldrslt Google}}"
        
if (rtbControl is RichTextBox & rtbControl.Name == "name_of_control")  // Making sure the control is a RichTextBox
       {
            RichTextBox rtb = rtbControl as RichTextBox;
            rtb.Rtf = my_hyperlink_text;
       }

让 rtfs 工作的一种简单方法是用 Microsoft word 编写文本,将其复制并粘贴到写字板,然后从那里将其另存为 RTF。 需要绕过 MS Word,因为写字板不支持在 UI 中输入链接,尽管当它们来自其他来源(如剪贴板)时它可以正确处理它们。此外,MS Word 会创建大量臃肿的 rtf。

您以这种方式创建的 rtf 文件可以在任何文本编辑器中打开,并且可以在您的程序中用作字符串常量。

在你的情况下,我想是前缀和颜色 table 缺失导致了问题。

顺便说一句:写字板只不过是 Windows rtf 控件的包装器,即您在代码中使用的相同控件。