C# 如何将超链接插入Outlook约会的RTFBODY属性?

C# 如何将超链接插入Outlook约会的RTFBODY属性?,c#,outlook-addin,rtf,C#,Outlook Addin,Rtf,这就是我到目前为止所做的: RichTextBox rtb = new RichTextBox(); rtb.Rtf = System.Text.Encoding.UTF8.GetString(item.RTFBody); rtb.Select(rtb.TextLength, 0); rtb.SelectedRtf = @"{\rtf1\ansi{\fonttbl\f0\fswiss Helvetica;}\f0\pard {\par} {\field{\*\fldinst HYPERLINK

这就是我到目前为止所做的:

RichTextBox rtb = new RichTextBox();
rtb.Rtf = System.Text.Encoding.UTF8.GetString(item.RTFBody);
rtb.Select(rtb.TextLength, 0);
rtb.SelectedRtf = @"{\rtf1\ansi{\fonttbl\f0\fswiss Helvetica;}\f0\pard {\par} {\field{\*\fldinst HYPERLINK ""http://www.google.com/""}{\fldrslt Click Here}}";

item.RTFBody = System.Text.Encoding.UTF8.GetBytes(rtb.Text);
代码运行良好,并添加了“Click Heere”文本,但没有附加到文本的链接。我想我很接近了,但我对RTF格式不太了解。任何帮助都将不胜感激

看看描述完全相同问题的线程:

RTF字段语法包含在中,使用HYPERLINK指令将为您提供一个链接。这显示了超链接指令的用法


另外,我建议保存Outlook项目并重新打开inspector窗口。希望能有所帮助。

您正在阅读rtb.Text(纯文本),而不是Rtf:

item.RTFBody = System.Text.Encoding.UTF8.GetBytes(rtb.Rtf);

非常感谢。你是对的,使用rtb.Rtf解决了这个问题。您知道在RTF超链接中是否有使用非http/s协议的方法吗?代码现在可以很好地用于,但我需要它来打开这样的链接:h323://12345678。当使用它时,它是不可点击的。有什么想法吗?再次感谢!实际上,我刚刚发布了另一个问题,问是否可能,也许有人知道解决方法。如果约会有一个HTMLBody,这会容易得多。再次感谢您的时间和帮助!