我如何使一个超链接在RichTextBox中工作?
当我将www.stackoverflow.com添加到我的RichTextBox并运行该程序时,它显示为蓝色,并作为超链接,但当我点击它时,什么也没有发生。 我怎样才能解决这个问题?
-
确保文本属性包含有效的url。 例如http://www.stackoverflow.com/
-
将DetectUrls属性设置为true
-
编写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
事件添加一个处理程序。