我正在使用 RichTextBox
来显示RTF文件,其中包含一个超链接 . 链接文本不是URL(目标是有效的URL) . RTF是使用Word创建的 . Word和写字板都能正确识别链接(写字板不会启动链接,但会显示相应的手形光标) .
当我将RTF加载到 RichTextBox
时,链接显示格式正确(蓝色和下划线),但不是表现得像链接,当光标在链接上移动时它仍然是工字梁, LinkClicked
事件不会触发,它实际上在链接后显示尖括号之间的目标(这似乎不正确) . 由于链接文本不是URL, DetectUrls
在此处没有帮助 .
有没有理由 RichTextBox
没有正确处理这些链接,或者是一种让它们按预期工作的方法?
这是代码 .
TipView.Rtf = tips[tipIndex];
// I've also tried TipView.LoadFile, with identical result
要重现此问题,请使用Word(我正在使用2000)创建一个RTF文档,其中包含一个文本不是URL但是以有效URL为目标的链接,并以编程方式将.rtf文件加载到 RichTextBox
(我正在使用.NET) 2.0 in C#Express 2008) .
1 回答
要支持超链接,您需要RICHEDIT50W version of "rich edit" .
为了那个原因:
使用.NET Framework 4.7,它在
RichTextBox
中本机使用RICHEDIT50W
.在旧版.NET Framework中,您可以修改
RichTextBox
以使用RICHEDIT50W
:基于RichTextBox Selection Highlight和RichTextBox cannot display Unicode Mathematical alphanumeric symbols .