当前位置:首页 > 计算机相关 > .net专区 > 正文内容

C#实现 WebBrowser中新窗口打开链接用默认或者指定浏览器打开,不用IE

piikee11年前 (2012-10-28).net专区1200
首先要捕获打开链接的事件,这个事件在 WebBrowser的NewWindow里面。
这里我的WebBrowser命名为announce。所以捕获事件如下:
private void announce_NewWindow(object sender, CancelEventArgs e)
{
e.Cancel = true ;//让webbrowser停止默认执行事件,让它不会用IE打开链接了
WebBrowser senderb = (WebBrowser)sender;//把sender给拿下,是一个WebBrowser对象
openUrl(senderb.StatusText);//StatusText即是要打开的新链接地址,把这个地址交给openUrl函数来搞定吧
}
openURL函数得到新链接,进行打开操作啦。函数如下:
private void openUrl(string url)
{
try
{
RegistryKey key = Registry.ClassesRoot.OpenSubKey(@"http\shell\open\command\");//获取系统中的浏览器
string s = key.GetValue("").ToString();
Regex reg = new Regex("\"([^\"]+)\"");
MatchCollection matchs = reg.Matches(s);
string filename = "";
if (matchs.Count > 0)
{
filename = matchs[0].Groups[1].Value;//取默认浏览器
System.Diagnostics.Process.Start(filename,url);
}
else
{
System.Diagnostics.Process.Start(url);//取不到默认浏览器就用IE了。。
}
}
catch { }
}
以上openURL函数你就可以实现各种操作啦,不一定要用我的操作哈。发现网上还没人有这解决办法,所以转载请注明来自www.piikee.net萍客小居哦。

扫描二维码推送至手机访问。

版权声明:本文由萍客小居发布,如需转载请注明出处。

本文链接:https://www.piikee.net/971.html

分享给朋友:

相关文章

AjaxControlToolkit中各个控件功能说明

1.Accordion控件1.1【功能概述】Accordion可以让你设计多个panel 并且一次只显示一个Panel .在页面上的显示效果就像是使用了多个CollapsiblePanels只不过每一次只展开其中一个CollapsibleP...

C#的窗体(WinForm)退出杂谈

1、Winform点击退出按钮,需要确认再退出:private void MainForm_FormClosing(object sender, FormClosingEventArgs e){if (MessageBox.Show("是否...

asp.net实现动态显示当前时间

asp.net实现动态显示时间的两个方法方法一:不用javascrip,而是用了AJAX。(开销比较大,每秒向服务器请求一次时间)Default.aspx页面:先拉一个ScriptManager控件到页面,然后拉一个UpdatePanel控...

zedgraph去掉右键菜单中的选项

在zedgraph生成的图表中,右键菜单会出现”恢复默认大小“等菜单项,这些选项可以通过如下方法去掉。方法一:没有zedgraph源文件的情况:在zedGraph控件中的ContextMenuBuilder事件中加入如下操作:private...

正则表达式简介及学习教程下载

正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如 表达式“ab+” 描述的特征是“一个 'a' 和 任意个 'b' ”,那么 'ab', 'abb', '...

C#中Split分隔字符串【用字符分隔和字符串分割】

C#中Split分隔字符串的应用1、用字符串分隔:using System.Text.RegularExpressions;string str="www.ruohuai.com||www.piikee.net||www.orz123.co...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。