You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将含真实链接的文本格式化为隐藏链接的LINK标签形式?

实现隐藏真实链接的文本显示方案

完全可行,不管是WinForms的RichTextBox还是WPF的相关控件,都能实现“显示LINK标签、隐藏真实链接但保留跳转功能”的效果,具体实现方式如下:

一、WinForms RichTextBox 实现方式

WinForms的RichTextBox支持RTF格式,我们可以通过构造RTF代码,将真实链接嵌入到LINK文本的超链接属性中。

示例RTF代码

将你提供的文本转换为以下RTF格式,加载到RichTextBox后就会显示LINK标签,点击可跳转至对应真实链接:

{\rtf1\ansi\deff0
{\fonttbl{\f0\fnil\fcharset0 Microsoft Sans Serif;}}
\viewkind4\uc1\pard\f0\fs17 match 1\par
{\field{\*\fldinst HYPERLINK "http://www.google.it"}{\fldrslt  1: LINK1}}\par
{\field{\*\fldinst HYPERLINK "http://www.example.it"}{\fldrslt  2: LINK2}}\par
{\field{\*\fldinst HYPERLINK "http://www.example2.it"}{\fldrslt  3: LINK3}}\par
\par
 match2 15:30\par
{\field{\*\fldinst HYPERLINK "http://www.google.it"}{\fldrslt  1: LINK1}}\par
{\field{\*\fldinst HYPERLINK "http://www.example.it"}{\fldrslt  2: LINK2}}\par
{\field{\*\fldinst HYPERLINK "http://www.example2.it"}{\fldrslt  3: LINK3}}\par
}

C# 加载代码示例

// 假设richTextBox1是你的WinForms RichTextBox控件
string rtfContent = @"{\rtf1\ansi\deff0
{\fonttbl{\f0\fnil\fcharset0 Microsoft Sans Serif;}}
\viewkind4\uc1\pard\f0\fs17 match 1\par
{\field{\*\fldinst HYPERLINK ""http://www.google.it""}{\fldrslt  1: LINK1}}\par
{\field{\*\fldinst HYPERLINK ""http://www.example.it""}{\fldrslt  2: LINK2}}\par
{\field{\*\fldinst HYPERLINK ""http://www.example2.it""}{\fldrslt  3: LINK3}}\par
\par
 match2 15:30\par
{\field{\*\fldinst HYPERLINK ""http://www.google.it""}{\fldrslt  1: LINK1}}\par
{\field{\*\fldinst HYPERLINK ""http://www.example.it""}{\fldrslt  2: LINK2}}\par
{\field{\*\fldinst HYPERLINK ""http://www.example2.it""}{\fldrslt  3: LINK3}}\par
}";
richTextBox1.Rtf = rtfContent;

二、WPF 控件实现方式

如果使用WPF,可选控件更多,实现更灵活:

  • RichTextBox:同样支持RTF,或者直接通过FlowDocument构造超链接元素
  • TextBlock:直接嵌套Hyperlink元素,代码更简洁

TextBlock 示例XAML

<TextBlock FontFamily="Microsoft Sans Serif" FontSize="14">
    match 1
    <LineBreak/>
    <Hyperlink NavigateUri="http://www.google.it"> 1: LINK1</Hyperlink>
    <LineBreak/>
    <Hyperlink NavigateUri="http://www.example.it"> 2: LINK2</Hyperlink>
    <LineBreak/>
    <Hyperlink NavigateUri="http://www.example2.it"> 3: LINK3</Hyperlink>
    <LineBreak/><LineBreak/>
    match2 15:30
    <LineBreak/>
    <Hyperlink NavigateUri="http://www.google.it"> 1: LINK1</Hyperlink>
    <LineBreak/>
    <Hyperlink NavigateUri="http://www.example.it"> 2: LINK2</Hyperlink>
    <LineBreak/>
    <Hyperlink NavigateUri="http://www.example2.it"> 3: LINK3</Hyperlink>
</TextBlock>

内容的提问来源于stack exchange,提问作者878757

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 05:05:21