【问题标题】:How to use own protocol in hyperlinks in RichTextBox?如何在 RichTextBox 的超链接中使用自己的协议?
【发布时间】:2018-02-04 03:11:44
【问题描述】:

我添加的超链接必须是标准协议超链接之一。也就是说,它应该是 http://、https://、ftp://、file:// 等。

是否可以在 RTF 文本中添加我自己的协议,比如 ref:// 或类似的内容?

供您参考,

当我输入现有协议 (http,https,..) 时,它将被视为链接,

我想知道,是否可以使用我自己的超链接来实现这一点,如下图所示?

请提出您宝贵的建议,

提前致谢,

【问题讨论】:

标签: c# winforms hyperlink richtextbox


【解决方案1】:
        private string editlLink(string link, string editWith) //link -> link to edit, editWith -> the protocol you want
        {
            return editWith + link.Substring(link.IndexOf(':'), link.Length - link.IndexOf(':'));
        }

然后这样称呼它:

        string edittedLink = editlLink("https://afnanmakhdoom.com", "ftp");

【讨论】:

    【解决方案2】:

    默认情况下,当该链接具有 https:\、http:\ ..etc 即系统已知的默认协议时,RichTextBox 将显示超链接。 RichTextBox 仅支持以下协议,

    https://msdn.microsoft.com/en-us/library/windows/desktop/bb787991(v=vs.85).aspx

    • 呼叫
    • 文件
    • ftp
    • 地鼠
    • http
    • https
    • 邮寄给
    • 新闻
    • 注释
    • nntp
    • 一注
    • outlook、prospero、tel、telnet、wais、webcal

    似乎不支持将自己的协议显示为 RichTextBox 中的超链接。参考以下链接,

    https://blogs.msdn.microsoft.com/murrays/2009/08/31/automatic-richedit-hyperlinks/

    https://blogs.msdn.microsoft.com/murrays/2009/09/24/richedit-friendly-name-hyperlinks/

    注意

    对于解决方法,您可以为自己的协议超链接添加下划线和文本颜色为蓝色。

    【讨论】:

      猜你喜欢
      • 2010-09-30
      • 1970-01-01
      • 1970-01-01
      • 2013-05-06
      • 1970-01-01
      • 2012-04-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多