C#制作浏览器的一点小问题,恳请解决

whowhen21 2009-02-07 03:11:57
我用C#制作一个Web浏览器,当它打开一个新页面的时候,就会自动打开了IE浏览器,而不是再我的浏览页面里。如何捕获这一事件,并且获取要打开的网址?

我想实现这样一个功能:添加TabPage控件,在第一个选项卡上添加WebBoswer控件,当要打开新页面的时候,我打开TabPage的第二个选项卡,并再第二个选项卡中的WebBoswer中显示新打开的页面(不要打开IE)。

如何实现?恳请赐教! 50分!

3Q
...全文
265 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
mzy939216 2009-12-17
  • 打赏
  • 举报
回复
本人也正在做一个浏览器玩玩
lixiaoke11 2009-03-27
  • 打赏
  • 举报
回复
我也出现了这个问题,但我没用tabcontrol。应该怎么做啊?
随风v5 2009-03-19
  • 打赏
  • 举报
回复
mark....
Kyle526 2009-02-08
  • 打赏
  • 举报
回复
1)你这个我以前实现过,你看看吧:
首先,你要在webbrowser的初始化代码中插入事件处理,比如:
w.NewWindow += new CancelEventHandler(webBrow_NewWindow);

然后用e.cancel = true来禁止IE窗口的弹出:
private void webBrow_NewWindow(object sender, CancelEventArgs e) // 这个新窗口用于页面中的超链接。
{
WebBrowser srcBrowser = (WebBrowser)sender;
string newUrl = srcBrowser.StatusText;
TabPage newPage = new TabPage();
WebBrowser newBrowser = new WebBrowser();

newBrowser.Navigate(newUrl);
InitWebBrow_NewWindow(newBrowser, newPage);
InitTabPage(newPage);

if (!Config.NewTabOnBack)
{
tcBrowser.SelectedTab = newPage;
}

RefreshButtonState();

//使外部无法捕获此事件
e.Cancel = true;

}

2) 获取网址的话你可以直接用WebBrowser 的Document属性,很容易就能得到的。

希望能帮上你的忙。
fenglaijun 2009-02-08
  • 打赏
  • 举报
回复
WebBrowser 的Document属性。。有当前网页的所有链接集合。
具体怎样。。自己试试吧。。。我不可能给你贴源码。。
wzuomin 2009-02-08
  • 打赏
  • 举报
回复
wzuomin 2009-02-08
  • 打赏
  • 举报
回复
whowhen21 2009-02-08
  • 打赏
  • 举报
回复
谢谢各位啊。

WebBoswer 是有这个属性,但是获取的是不是很多网址呢?我想得到的只是你点击的那个超链接啊。


我回去试试吧,谢谢各位哦。
whowhen21 2009-02-07
  • 打赏
  • 举报
回复
可是我如何知道点击的链接是什么呢?
就是获取点击要打开新链接的网址.
eynStudio 2009-02-07
  • 打赏
  • 举报
回复
学习!
fenglaijun 2009-02-07
  • 打赏
  • 举报
回复

private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
{
e.Cancel = true;//取消该点击事件。然后你自己用webbrowser加载页面
}
fenglaijun 2009-02-07
  • 打赏
  • 举报
回复

WebBrowser web = new WebBrowser();
web.Navigate("http://www.baidu.com");
web.NewWindow+=new CancelEventHandler(你的事件调用的方法);新窗口打开之前事件
玏佾 2009-02-07
  • 打赏
  • 举报
回复
这里有个例子,自己下载去看http://sourceforge.net/project/showfiles.php?group_id=233158

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧