1、C#开发中 webBrowser控件和窗体通信案例研究(1)摘要针对 B/S开发模式的流行和需求,利用 C#开发窗体时,WebBowser 控件的利用无疑是个不错的选择,WebBowser控件可以兼容目前大多数网络资源的呈现和访问,作为开发工具自身的控件,使用人员可以方便的应用。因此如何在窗体和 WebBowser控件之间,进行数据传递,是很多开发人员必须面对的一个问题,本文从一个实例入手来分析建立数据传递的整个过程。关键词窗体 WebBowser事件信息技术的不断深入发展,推动了网络技术的更新,各种新型的网络应用呈现繁荣的状态,人们开始更习惯利用网络浏览器来完成各种工作,VSdotnet 开
2、发工具中自带了 WebBowser控件,主要用于 Windows环境下的网页浏览用;用于窗体开发,可以利用网页炫丽的图片、文字、动画以及 JavaScript、Asp 语言呈现的种种特效来美化窗体,这也是一些高端用户经常要求;甚至利用这个控件可以开发其核心基于 InternetExplorer(IE)的专业网络浏览器。由于利用 Linux其它操作系统的用户毕竟是少数,因此开发基于 Windows窗体环境的 C/S、B/S 应用架构满足目前很多用户提出的需求:可以定制所需要的网络资源、数据对内透明、定制 IE所需功能防止用户其它操作等。所有开发的前提就是 WebBrowser控件如何同 Wind
3、ows窗体进行数据传递,需要那些事件来响应这些操作,下面,通过一个实例来研究数据传值和事件响应的问题。一、HTML 语法研究HypertextMarkupLanguage(HTML)是超文本标记语言,其目的在于运用标记(tag)使文件达到预期的显示效果,目前已经发展到 HTML版。随后发展了 XHTML语言,它比HTML的语法更加严格。WebBrowser 可以加载的*.htm、*.html 和*.xhtml 文件。这些网页文件中的各元素都有自己独有的标记方式。比如:图形标记:用以插入图库及设定图形属性。连结标记:加入连结。框架设定:用于设定网页框架。通过 tag标记可以对网页中各元素进行判断
4、,这就为网页同窗体间的通信提供了一个非常好的通道。二、WebBrowser 控件1WebBrowser 是一个在.NETFramework 版中新增的.的控件类。使用 WebBrowser控件类使用户可以在 Windows窗体应用程序中导航网页以及支持浏览器的其它文档。例如可以使用 WebBrowser控件在应用程序中提供基于 HTML的集成用户帮助或 Web浏览功能。此外,还可以使用WebBrowser控件向 Windows窗体客户端应用程序添加 Web的现有控件。WebBrowser 控件在使用中由于加载页面的内容量很大,会占用较大的系统资源,使用完该控件后一定要调用Dispose方法,以
5、便确保及时释放资源。而且必须在附加事件的同一线程上调用 Dispose方法,该线程应始终是消息或用户界面(UI)线程。三、WebBrowser 控件和窗体通信实例下面,就通过一个实例来展示 WebBrowser控件如何向窗体传递参数。开发环境是WindowsXPSP2,.NETFramework,VisualXX。1、打开 VisualXX,选择使用 C#语言开发,新建一个工程 Webbrowserandform。打开工具箱,选择 WebBrowser控件、contextMenuStrip控件放置到窗体。在窗体的命名空间处添加:using;“保存图片”属性Name:saveAsImageToo
6、lStripMenuItem;“设置成桌面”属性Name:setAsDesktopWallpaperToolStripMenuItem;“打开”属性 Name:openToolStripMenuItem;“刷新”属性 Name:refreshToolStripMenuItem。2、在窗体 Load事件中添加如下代码;=contextMenuStrip1;=false;3、自定义鼠标右击函数contextMenuStrip1_Opening()privatevoidcontextMenuStrip1_OpeningPointScreenCoord=newPoint;PointBrowserCoord=;HtmlElementelem=;for(inti=0;i i.Visible=false;(作者:未知本文来源于爬虫自动抓取,如有侵犯权益请联系 service立即删除)