如何在RichTextBox中创建超链接?

时间:2009-01-12 14:39:59

标签: c# winforms richtextbox

当我将www.stackoverflow.com添加到我的RichTextBox并运行程序时,它显示为蓝色和超链接,但当我点击它时没有任何反应。我该如何解决这个问题?

4 个答案:

答案 0 :(得分:122)

  1. 确保text属性包含有效的url。例如。 http://www.stackoverflow.com/

  2. DetectUrls 属性设置为 true

  3. LinkClicked 事件编写事件处理程序。

  4. 就个人而言,我不会将“IExplore.exe”作为参数传递给 Process.Start ,因为微软建议这样做,因为这预示着它已安装,并且是用户首选的浏览器。如果您只是将url传递给进程启动(如下所示),那么Windows将做正确的事情并使用相应的URL启动用户首选的浏览器。

    private void mRichTextBox_LinkClicked (object sender, LinkClickedEventArgs e) {
        System.Diagnostics.Process.Start(e.LinkText);
    }
    

答案 1 :(得分:10)

RichTextBox类允许您在用户单击超链接时自定义其行为。为RichTextBox.LinkClicked 事件添加事件处理程序

Process p = new Process();

private void richTextBox1_LinkClicked(object sender, LinkClickedEventArgs e)
{
   p = Process.Start("IExplore.exe", e.LinkText);
}

答案 2 :(得分:2)

您应该确保DetectUrls设置为true。如果这不起作用,您可能需要为LinkClicked事件添加处理程序。

答案 3 :(得分:1)

yourTextBox.DetectUrls是否设为true?我们可能需要更多信息来提供更好的答案。