rtftextbox和文档内的超链接/锚点

时间:2008-12-04 17:13:58

标签: winforms .net-2.0 rtf

几个小时前,我发现使用标准的.net 2.0 winforms控件(RichTextBox)显示* .rtf文件非常容易。真的很酷,它甚至可以显示图片,但对我来说,有一个缺少的功能 - 超链接。 我准备了* .rtf文档,其中包含一些指向文档内部段落的超链接。然后我将此文件放入资源并加载到控制的rtf属性,但不幸的是,单击链接不起作用。 是否有可能通过黑客攻击或解决方法来启用超链接?

修改

我的客户将准备一份简短文件(比方说一个* .docx文件或一个* .html文件)。

它将包含几个章节,我们希望将小目录放在文档的顶部。

预期的行为是用户单击主题,控件将其内容滚动到文档中的所需位置。

所以也许这不是关于链接而是关于书签。


好的,我会尝试描述所需解决方案的大部分内容。

我的客户将准备一份简短的文件(比方说一个* .docx文件或一个* .html文件)。

它将包含几个章节,我们希望在文档的顶部放置小目录。

预期的行为是用户单击主题,控件将其内容滚动到文档中的所需位置。

所以也许这不是关于链接而是关于书签。

1 个答案:

答案 0 :(得分:1)

您的链接如何格式化并且DetectUrl是否为真?

来自codeproject - >只识别并重新格式化以其中一个已识别的协议(http:,file:,mailto:,ftp:,https:,gopher:,nntp:,prospero:,telnet:,news:,wais:,outlook :)开头的链接

http://www.codeproject.com/KB/edit/RichTextBoxLinks.aspx

http://msdn.microsoft.com/en-us/library/system.windows.forms.richtextbox.detecturls(VS.80).aspx

微软文章有一个关于LinkClicked事件的例子。

private void Link_Clicked (object sender, System.Windows.Forms.LinkClickedEventArgs e)
{
   System.Diagnostics.Process.Start(e.LinkText);
}