在axWebBrowser内打开外链的Web页面

       最近一个项目需要用到axWebBrowser控件,而axWebBrowser加载的页面中,有一个版块是Iframe框架加载其他站点的页面,而这个站点的所有链接都是target='_black'那种,所以就导致了每次点击这个iframe的链接时,都是新开一个IE浏览器打开页面,这明显不符合项目的要求啊!郁闷了~~~,在网上查了半天的资料,有关axWebBrowser控件的资料很少,更不用说在axWebBrowser内打开这些外部站点的页面了。大哭 看来这能自己搞了~~~

      自己研究了几个小时,终于能达到自己想要的效果了,贴个代码出来和大家分享一下:

        private void axWebBrowser1_NewWindow2(object sender, AxSHDocVw.DWebBrowserEvents2_NewWindow2Event e)
        {
            AxSHDocVw.AxWebBrowser _axWebBrowser = CreateNewWebBrowser();
            e.ppDisp = _axWebBrowser.Application;
            _axWebBrowser.RegisterAsBrowser = true;
        }

        private AxSHDocVw.AxWebBrowser CreateNewWebBrowser()
        {
            AxSHDocVw.AxWebBrowser _axWebBrowser = new AxSHDocVw.AxWebBrowser();

            this.axWebBrowser1.Controls.Add(_axWebBrowser);
            _axWebBrowser.Dock = DockStyle.Fill;

            _axWebBrowser.NewWindow2 += (this.axWebBrowser1_NewWindow2);

            return _axWebBrowser;
        }


     原理很简单吧?就是把新打开的外部站点页面在另一个axWebBrowser中显示,然后把该axWebBrowser替换现有的axWebBrowser即可。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值