`
lovecontry
  • 浏览: 1029776 次
文章分类
社区版块
存档分类
最新评论

C#使用微软网页浏览器控件

 
阅读更多

C#使用微软网页浏览器控件

原文见:http://blog.csdn.net/Felomeng/archive/2007/05/18/1614411.aspx

摘要: 这个小示例展示了如何使用微软网页浏览器以及微软 文档对象模型(DOM)去处理任意网页中的元素。

为了在编程中使用DOM,需要把网页浏览器和与它的方法、属性、事件相关的DOM添加到你的C#工程中。通过调用Navigate方法打开Url地址指向的文档。打开网页需要一定时间,所以必须等待打开事件完成。通过IHTMLDocument2界面对象将浏览器文档格式化从而得到常见的网页形式。可以对集合进行相应的操作,如点击一个链接或图片集合,就会返回一个IHTMLElementCollection对象。

在这个小示例中,您将用网页浏览器和DOM来得到和显示一个网页中的所有内容。

在编程中访问 DOM

  1. 建立一个新的Visual C#窗口应用程序工程,并命名为DOM

窗体的名称使用默认名Form1

  1. 在解决方案资源管理器中,右键单击本工程,在弹出菜单中选择添加引用。

弹出“添加引用对话框”

  1. 打开.NET页双击名为Microsoft.mshtml的组件。
  2. 单击确定。

微软DOM的相应方法、事件和属性都添加到了这个工程。

鼠标向左滑动,打开工具箱,右键单击任意工具,在弹出菜单中选择添加/移除项

弹出添加/移除项对话框

  1. 打开COM组件页选中微软网页浏览器一项前面的多选框。

带有标签的浏览器控件就出现在工具箱中刚才单击位置所在页了。

  1. 选择这个浏览器并单击窗体。

窗体上就会添加一个名为axWebBrowser1的网页浏览器。

  1. 在这个浏览器的上方添加一个TextBox组件,下方添加一个ListBox组件,这两个组件都使用它们的默认名称:textBox1listBox1
  2. listBox1右方添加一个Button组件。将ButtonText属性改为"提交",名称也使用默认:button1

最后得到下图所示样式的窗口:

  1. 双击button1

方法button1_Click就会自动添加到工程中。

  1. button1_Click法中使用下面黑体的代码:

11. private void button1_Click(object sender, System.EventArgs e)

12. {

13. object Zero = 0;

14. object EmptyString = "";

15. axWebBrowser1.Navigate(textBox1.Text,

16. ref Zero, ref EmptyString, ref EmptyString, ref EmptyString);

}

  1. 回到窗体设计器界面,选中浏览器组件,单击属性窗口中的事件图标。

我们看到网页浏览器的事件列表。

  1. 双击Document Complete事件

axWebBrowser1_DocumentComplete事件处理过程就添加到工程了。

  1. 在窗体Form1的代码页的开头处添加下面黑体的引用:

20. using System.Data;

using mshtml;

  1. 在事件处理过axWebBrowser1_DocumentComplete添加如下黑体的代码:

22. private void axWebBrowser1_DocumentComplete(

23. object sender,

24. AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEvent e)

25. {

26. IHTMLDocument2 HTMLDocument =

27. (IHTMLDocument2) axWebBrowser1.Document;

28. IHTMLElementCollection links = HTMLDocument.links;

29.

30. listBox1.Items.Clear();

31.

32. foreach (HTMLAnchorElementClass el in links)

33. {

34. listBox1.Items.Add(el.outerHTML);

35. }

}

  1. F5键编译并启动程序。

Form1窗体就出现了。

  1. 在文本框中输入一个Url地址,如:http://blog.csdn.net/Felomeng,然后单击提交

网页就会显示在浏览器中,相应的元素会显示在下面的列表框中,如下面截图所示:

更多信息尽在:

分享到:
评论

相关推荐

    使用C#开发ActiveX控件(含示例教程)源码20130626

    虽然本文通篇都在讲如何使用C#语言开发ActiveX控件,但我并不极力推荐使用这种技术,因为该技术存在明显的局限,即需要浏览器端安装.NET Framework(版本取决于开发ActiveX控件使用的.NET Framework版本),该局限...

    《使用C#开发ActiveX控件》

    虽然本文通篇都在讲如何使用C#语言开发ActiveX控件,但我并不极力推荐使用这种技术,因为该技术存在明显的局限,即需要浏览器端安装.NET Framework(版本取决于开发ActiveX控件使用的.NET Framework版本),该局限...

    使用C#开发ActiveX控件

    activex控件以前也叫做ole控件,它是微软ie支持的一种软件组件或对象,可以将其插入到web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动态处理能力。通常activex控件都是用c++或vb语言开发,本文介绍...

    C#微软培训资料

    <<page 1>> page begin==================== 目 目目 目 录 录录 ...第一部分 C#语言概述.4 ... 程语言 C#.4 ... 1.1 Microsoft.NET——一场新的革命.4 ... 1.2 .NET 与 C#.6 ...这一天 微软公司正式推出了其下一代...

    net图表工具for vs 08

    介绍一下微软这套免费又功能强大的图表控件「Microsoft Chart Controls for Microsoft .NET Framework 3.5」。 微软在收购了 Dundas 这家优秀的图表组件公司后,日前释出了功能相当强大,而且完全免费的图表组件,名...

    C#调用C++底层代码

    其实两者除了呈现UI的部分使用的是共通语言 XAML 之外,两者在本质上有很大的不同。甚至,XAML对WPF与Silverlight有不同的意义,也不能算是两者间"共通的语言。 XAML对WPF来说,是一种把.NET程序语言改用XML来描述的...

    C#潮流计算和Visio二次开发画电气接线图

    是最常见的一种文件格式 ,早在DOS时代应用就很多,主要存文本信息,即为文字信息,在微软在操作系统等于直接存,就是它了,现在多用的操作系统得使用记事本等程序保存,大多数软件可以查看如记事本,浏览器等等。...

    WebOffice在线编辑Word、Excel、PPT、WPS

    本控件不同于其它同类软件,不是基于微软的开放源码DsoFramer,也不基于OLE,可以解决DsoFramer及其派生产品的一些稳定性问题 本控件不同于其它同类收费软件,本控件完全免费和界面完全可控制。 点聚会定期更新本...

    Asp.net(Chart)

    微软最近发布了一个很酷的新ASP.NET服务器控件,可以免费用在ASP.NET 3.5中,促成基于浏览器的丰富图表场景支持各种丰富的图表选项,包括pie(饼图), area(区域), range(范围), point(点), circular(圆形), ...

    Asp.net人力资源管理系统源码,企业人事信息系统+源文件+库

    本系统是为适应企业管理部门管理人员, 针对企业信息进行管理...四、技术特点:EasyUI,JQuery,Lodop打印控件,微软Chart图表控件,统一权限管理系统 安装说明: 开发环境为Visual Studio 2010,数据库为SQL Server 2008

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    此外,《ASP.NET 4高级程序设计(第4版)》专门提供了两章的内容来教你如何用Ajax 技术制作快速响应的页面,以及如何使用微软的ASP.NETAJAX平台。另外,还专门介绍了ASP.NET4 新增的功能,如MVC 和动态数据等。  ...

    DOTNET移动通信程序设计

    第3章是Mobile Internet Designer的使用方法,讲述设计器(designer)产生的文件和怎样设定调试用的浏览器。第4章是网页程序调试。第5章讲述cookieless移动设备需要注意的地方。第6章介绍Form控件,它是Web Form最基本...

    ASP.NET的网页代码模型及生命周期

    在页面控件中,如果有多个自定义控件使用多个不同的控件来显示不同的数据结构,为了让这些页面控件能够在在页面上协调的工作,则需要使用控件状态来保护控件,同时,控件状态是不能被关闭的。同样,控件状态也有它的...

    微软Silverlight.3下的3D游戏开发

    Visual C#, IronRuby, Ironpython对JSON、Web Service、WCF以及Sockets支持等系列新特性步步学Silverlight 2系列文章将从Silverlight 2基础知识、数据和通信、自定义Control控件、动画、图形图像等几个方面带您快速...

    MF00492-ASP.NET企业人力资源管理.zip

    目前流行的WEB控件,即可裁剪输出网页内容,也可用JS语句直接打印: 1)用CSS+HTML当指令自由打印,用table快速报表、可按页小计或汇总; 2)用LODOP套打时,操作者可自行拖拽位置、调整样式,自行本地保存调整结果;...

    word在线编辑,office在线编辑 最完整版本及其PHP/JSP示例程序

    本软件基于微软的技术支持文档KB Q311765(市场上现有的好多在线文档编辑控件均基于该文章完成,大家可以很容易的识别),修改了文章所附代码的一些缺陷,添加了一些实际软件开发过程中必需的功能。 本软件为所有新...

    SOAOFFICE - 微软 OFFICE 中间件

    采用独创的专利技术构建了一个功能强大、简单易用的微软Office中间件平台,平台提供标准的.net和java组件接口,不但能够在线(浏览器页面)打开、编辑、保存Office文档,而且开发人员还能够以简洁的代码快速的将...

    在C#中 webbrowser的使用心得

    但是很不幸,上面的代码在有的机器上不起作用,开始以为是环境或者流氓插件的问题,折磨了很久无果,后来把.net升级到4.0竟然解决了这个问题,估计就是微软webbrowser控件的问题 2.屏蔽拷贝快捷键和截屏快捷键  ...

Global site tag (gtag.js) - Google Analytics