我如何使一个超链接在RichTextBox中工作?

当我将www.stackoverflow.com添加到我的RichTextBox并运行该程序时,它显示为蓝色,并作为超链接,但当我点击它时,什么也没有发生。 我怎样才能解决这个问题?

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

  2. DetectUrls属性设置为true

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

就个人而言,我不会将“IExplore.exe”作为parameter passing给Process.Start调用,因为这样做的前提是它已安装,并且是用户的首选浏览器。 如果你只是通过URL来处理开始(如下),那么Windows将做正确的事情,并启动用户的首选浏览器与适当的url。

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

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

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

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

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