我添加的超链接必须是标准协议超链接之一。这意味着它应该是http://,https://,ftp://,file:// etc。
是否可以在RTF文本中添加我自己的协议说ref://或类似的东西?
供您参考,
当我输入现有协议(http,https,..)时,它将被视为链接,
我想知道,是否有可能通过我自己的超链接实现这一点,如下图所示?
请提出宝贵的建议,
提前致谢,
答案 0 :(得分: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");
答案 1 :(得分:1)
默认情况下,当该链接具有https:\,http:\ .. iec即系统已知的默认协议时,RichTextBox将显示超链接。 RichTextBox仅支持以下协议,
https://msdn.microsoft.com/en-us/library/windows/desktop/bb787991(v=vs.85).aspx
似乎没有支持将自己的协议显示为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/
请注意
对于变通方法,您可以为自己的协议超链接添加下划线和文本颜色为蓝色。