如何使用 web 浏览器控件 NewWindow2 事件 Visual C#

60 篇文章 1 订阅

http://support.microsoft.com/kb/815714/zh-cn

 

 

本文介绍如何使用NewWindow2事件时触发由 Microsoft Internet Explorer 4.0 和更高版本,包括 Microsoft web 浏览器控件。您可以使用此事件来指定在每次打开新的浏览器窗口时使用您的浏览器程序。本文介绍此过程对于 Visual C#。

NewWindow2 事件

NewWindow2事件发生时创建一个新窗口以显示资源。从web 浏览器控件 (例如,在为目标的新窗口或脚本的window.open方法导航到的响应) 创建一个新窗口之前,将到达此事件。

若要指定在每次打开新窗口时使用您的浏览器程序,将ppDisp设置为等于新的web 浏览器对象,它包含在您的程序创建一个新窗口中。在这种情况下,如果用户选择在新窗口中打开 Web 页在程序中的新窗口用于显示新的 Web 页。

此外, RegisterAsBrowser属性设置为true的控件参与窗口名称解析为新的web 浏览器控件。例如,如果在脚本中其他地方使用窗口名称,则此控件使用而不是新建一个因为控件打开一个新窗口之前检查所有现有的窗口名。

创建项目并添加代码

下面的示例将定向到下面的 Web 站点的web 浏览器控件:

http://www.microsoft.com
  1. 开始 Microsoft Visual Studio。
  2. 创建新 Visual C# Windows 窗体 Applicationproject。
  3. 在工具箱中,单击常规面板中。
  4. 用鼠标右键单击打开的面板,然后单击选择项目
  5. 单击COM 组件选项卡,单击以选中Microsoft Web 浏览器复选框,然后单击确定
  6. 在工具箱中,双击新添加的 Microsoft Web 浏览器控件,以将其添加到您的窗体。
  7. 向表单中添加一个按钮控件和一个文本框控件。
  8. 双击该按钮以在代码窗口中查看的onClick事件中的实现。添加到文本框中指定的 URL 将浏览下面的代码:
    private void button1_Click(object sender, System.EventArgs e)
    {
       object obj = null;
       axWebBrowser1.Navigate(textBox1.Text, ref obj, ref obj, ref obj, ref obj);
    }
  9. 在解决方案资源管理器中,用鼠标右键单击Form1,然后单击视图设计器。请单击右axWebBrowser1控件,并单击属性。单击事件图标,然后双击NewWindow2添加 NewWindow2 事件的事件处理程序。将下面的代码添加到NewWindow2事件:
    private void axWebBrowser1_NewWindow2(object sender, AxSHDocVw.DWebBrowserEvents2_NewWindow2Event e)
    {
       Form1 frmWB;
       frmWB = new Form1();
    
       frmWB.axWebBrowser1.RegisterAsBrowser = true;
       e.ppDisp = frmWB.axWebBrowser1.Application;
       frmWB.Visible = true;
    }

 

验证

  1. 启动记事本),然后将下面的文本保存为Test.htm ,在您的 Web 服务器上:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
    <TITLE>Q311282</TITLE>
    
    <SCRIPT type = "text/Jscript">
         function openWin()
         {
              var win;
              win = window.open("http://www.microsoft.com");
         }
    </SCRIPT>
    </HEAD>
    <BODY>
    
    <button onClick="openWin()">Open New Window</button>
    
    </BODY>
    </HTML>
  2. 在 Visual Studio 中,请单击调试菜单运行该应用程序上的开始按钮。
  3. 此时将显示 Form1。将文本框中的文本更改为 URLof Test.htm 页中。
  4. 单击button1
  5. Test.htm 出现在web 浏览器控件。单击新窗口中打开。请注意该程序的新实例中打开的那个 theMicrosoft Web 页。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值