0

我在winforms中使用richtextbox。我必须在富文本框中显示一些链接,这些链接将被设置为只读。它适用于没有空格的链接,例如

\\efile\DSC_0618.JPG

但是当文件有空间时

\\2527 阈值.png

它不会工作,链接会因为空间而中断。

我已使用此链接中提到的解决方案Link to File's path with space in RichTextBox?

但问题是转义序列也会根据此显示在 Richtextbox 中。

有什么方法可以在不使用转义序列的情况下将其作为链接?

4

2 回答 2

1

我发现这个链接http://www.codeproject.com/cs/miscctrl/RichTextBoxLinks.asp可以帮助您将任何文本的链接插入到RichTextBox. 有一个关于如何获取LinkTextand Link Urlhere 的特别说明,在原始演示中似乎没有。在这里,我将演示在LinkClicked事件处理程序中获取链接信息:

//Insert link to test
richTextBoxEx1.InsertLink("StackOverFlow", "http://www.stackoverflow.com");
//LickClicked event handler
private void richTextBoxEx1_LinkClicked(object sender, System.Windows.Forms.LinkClickedEventArgs e)
{
        string[] s = e.LinkText.Split(new string[]{@"#http://"}, StringSplitOptions.None);
        if (s.Length == 2)
        {
            s[1] = "http://" + s[1];
            MessageBox.Show("A link has been clicked.\nThe link text is '" + s[0] + "'\nThe link URL is '" + s[1] + "'");
            System.Diagnostics.Process.Start(s[1]);//Try visiting the link.
        }
}

我认为这对你(以及其他有同样问题的人)来说是最漂亮的解决方案。

于 2013-07-18T10:10:48.080 回答
0

如果您想要一些基本的东西,它具有在视觉上模仿文件名中空格的效果,只需将空格字符 (' ') 替换为 UNICODE 不间断空格 (U+00A0),然后在链接单击处理程序中执行相反。有关示例代码,请参阅我对类似问题的回答:

https://stackoverflow.com/a/19853473/2967903

于 2013-11-08T07:25:45.570 回答