zoukankan      html  css  js  c++  java
  • webBrowser控制新窗口

    当页面为新 窗口弹出时,下面代码分别演示如何在新建form中加载页面以及当前form的web控件加载form

      1、新建form,这个大多数人 都应该知道。用newwindow2就可以了,不过vs2005的web控件是ms封装过的,需要注意一下。

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Reflection;
    namespace WindowsApplication24
    ...{
      public partial class Form1 : Form
       ...{
        
        public Form1()
        ...{
           InitializeComponent();
           this.webBrowser1.Navigate("about:blank");
           (this.webBrowser1.ActiveXInstance as SHDocVw.WebBrowser).NewWindow2 += new SHDocVw.DWebBrowserEvents2_NewWindow2EventHandler(Form1_NewWindow2);
       
        }
        private void button1_Click(object sender, EventArgs e)
         ...{
          this.webBrowser1.Navigate("www.google.cn");
        }
       
        void Form1_NewWindow2(ref object ppDisp, ref bool Cancel)
         ...{
          Form1 frm = new Form1();
          ppDisp = frm.webBrowser1.ActiveXInstance;
          frm.Show();
        }
      
       }
    }

      2、在当前窗体的web控件中直接加载,这个需要用到NewWindow3 事件。

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Reflection;
    namespace WindowsApplication24
    ...{
      public partial class Form1 : Form
       ...{
        
        public Form1()
        ...{
           InitializeComponent();
           this.webBrowser1.Navigate("about:blank");
           (this.webBrowser1.ActiveXInstance as SHDocVw.WebBrowser).NewWindow3 += new SHDocVw.DWebBrowserEvents2_NewWindow3EventHandler(Form1_NewWindow3);
       
        }
      
        void Form1_NewWindow3(ref object ppDisp, ref bool Cancel, uint dwFlags, string bstrUrlContext, string bstrUrl)
         ...{
          Cancel = true;
           this.webBrowser1.Navigate(bstrUrl);
        }
        private void button1_Click(object sender, EventArgs e)
        ...{
           this.webBrowser1.Navigate("www.google.cn");
        }
      
      }
    }

    来源:csdn    作者:贾涛    责编:豆豆技术应用

  • 相关阅读:
    14个顶级开发社区 [程序员]
    跟我一起学习VIM
    INTRODUCTION TO BIOINFORMATICS
    vim + ctags + taglist配置和使用
    使用Gitblit 在windows 上部署你的Git Server
    HMM基本原理及其实现(隐马尔科夫模型)
    Qt 所有版本官方下载地址
    如何在ubuntu中安装和配置TeX Live ,Texstudio
    PyCharm和Anaconda的区别与联系
    如何在 matlab 和 excel之间进行数据导入导出操作?
  • 原文地址:https://www.cnblogs.com/niuniu502/p/1852268.html
Copyright © 2011-2022 走看看