当前位置:  开发笔记 > 编程语言 > 正文

如何在RichTextBox中创建超链接?

如何解决《如何在RichTextBox中创建超链接?》经验,为你挑选了2个好方法。

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



1> Sam Meldrum..:

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

    DetectUrls属性设置为true

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

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

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


这可能是一个严重的安全风险.更好的方法是:`System.Diagnostics.Process.Start("explorer.exe",e.LinkText);`
只是要重申@Christian的意思-** explorer.exe **将参数传递给单例,这可以保证运行不升高。自己运行命令可能会提升也可能不会提升。如果资源管理器未升高运行它,并且需要升高,则UAC会询问。安全得多。

2> aku..:

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

Process p = new Process();

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

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有