浅议C#开发中webBrowser控件和窗体通信案例分析
来源:网络 时间:2017-07-01 15:28:00
[摘 要] 针对B/S开发模式的流行和需求,利用C#开发窗体时,WebBowser控件的利用无疑是个不错的选择,WebBowser控件可以兼容目前大多数网络资源的呈现和访问,作为VS.net开发工具自身的控件,使用人员可以方便的应用。因此如何在窗体和WebBowser控件之间,进行数据传递,是很多开发人员必须面对的一个问题,本文从一个实例入手来分析建立数据传递的整个过程。
[关键词] 窗体 WebBowser 事件
信息技术的不断深入发展,推动了网络技术的更新,各种新型的网络应用呈现繁荣的状态,人们开始更习惯利用网络浏览器来完成各种工作,VS dot net开发工具中自带了WebBowser控件,主要用于Windows环境下的网页浏览用;用于窗体开发,可以利用网页炫丽的图片、文字、动画以及JavaScript、Asp语言呈现的种种特效来美化窗体,这也是一些高端用户经常要求;甚至利用这个控件可以开发其核心基于Internet Explorer(IE)的专业网络浏览器。由于利用Linux其它操作系统的用户毕竟是少数,因此开发基于Windows窗体环境的C/S、B/S应用架构满足目前很多用户提出的需求:可以定制所需要的网络资源、数据对内透明、定制IE所需功能防止用户其它操作等。所有开发的前提就是WebBrowser控件如何同Windows 窗体进行数据传递,需要那些事件来响应这些操作,下面,通过一个实例来研究数据传值和事件响应的问题。
一、HTML语法研究
Hypertext Markup Language(HTML)是超文本标记语言,其目的在于运用标记(tag)使文件达到预期的显示效果,目前已经发展到HTML 4.01版。随后发展了XHTML语言,它比HTML的语法更加严格。
WebBrowser可以加载的*.htm、*.html和*.xhtml文件。这些网页文件中的各元素都有自己独有的标记方式。比如:
图形标记:用以插入图库及设定图形属性。
连结标记:加入连结。
框架设定:用于设定网页框架。
通过tag标记可以对网页中各元素进行判断,这就为网页同窗体间的通信提供了一个非常好的通道。
二、WebBrowser控件[1]
WebBrowser是一个在.NET Framework 2.0版中新增的.的控件类。使用WebBrowser控件类使用户可以在Windows窗体应用程序中导航网页以及支持浏览器的其它文档。例如可以使用WebBrowser控件在应用程序中提供基于HTML的集成用户帮助或Web浏览功能。此外,还可以使用 WebBrowser控件向Windows窗体客户端应用程序添加Web的现有控件。
WebBrowser控件在使用中由于加载页面的内容量很大,会占用较大的系统资源,使用完该控件后一定要调用Dispose方法,以便确保及时释放资源。而且必须在附加事件的同一线程上调用Dispose方法,该线程应始终是消息或用户界面(UI)线程。
三、WebBrowser控件和窗体通信实例
下面,就通过一个实例来展示WebBrowser控件如何向窗体传递参数。
开发环境是Windows XP SP2,.NET Framework 3.5,Visual Studio.NET 2008。
1、打开Visual Studio.NET 2008,选择使用C#语言开发,新建一个工程Webbrowserandform。
打开工具箱,选择WebBrowser控件、contextMenuStrip控件放置到窗体。
在窗体的命名空间处添加:
using System.Threading;
“保存图片”属性Name:saveAsImageToolStripMenuItem;
“设置成桌面”属性Name:setAsDesktopWallpaperToolStripMenuItem;
“打开”属性Name:openToolStripMenuItem;
“刷新”属性Name:refreshToolStripMenuItem。
2、在窗体Load事件中添加如下代码
webBrowser1.Navigate("");
webBrowser1.ContextMenuStrip=contextMenuStrip1;
webBrowser1.IsWebBrowserContextMenuEnabled=false;
3、自定义鼠标右击函数contextMenuStrip1_Opening()
private void contextMenuStrip1_Opening(object sender,CancelEventArgs e)
{
Point ScreenCoord=new Point(MousePosition.X, MousePosition.Y);
Point BrowserCoord=webBrowser1.PointToClient(ScreenCoord);
HtmlElement elem=webBrowser1.Document.GetElementFromPoint(BrowserCoord);
for(int i=0; i {
contextMenuStrip1.Items[i].Visible=false;转贴于 免费论文下载中心
[关键词] 窗体 WebBowser 事件
信息技术的不断深入发展,推动了网络技术的更新,各种新型的网络应用呈现繁荣的状态,人们开始更习惯利用网络浏览器来完成各种工作,VS dot net开发工具中自带了WebBowser控件,主要用于Windows环境下的网页浏览用;用于窗体开发,可以利用网页炫丽的图片、文字、动画以及JavaScript、Asp语言呈现的种种特效来美化窗体,这也是一些高端用户经常要求;甚至利用这个控件可以开发其核心基于Internet Explorer(IE)的专业网络浏览器。由于利用Linux其它操作系统的用户毕竟是少数,因此开发基于Windows窗体环境的C/S、B/S应用架构满足目前很多用户提出的需求:可以定制所需要的网络资源、数据对内透明、定制IE所需功能防止用户其它操作等。所有开发的前提就是WebBrowser控件如何同Windows 窗体进行数据传递,需要那些事件来响应这些操作,下面,通过一个实例来研究数据传值和事件响应的问题。
一、HTML语法研究
Hypertext Markup Language(HTML)是超文本标记语言,其目的在于运用标记(tag)使文件达到预期的显示效果,目前已经发展到HTML 4.01版。随后发展了XHTML语言,它比HTML的语法更加严格。
WebBrowser可以加载的*.htm、*.html和*.xhtml文件。这些网页文件中的各元素都有自己独有的标记方式。比如:
图形标记:用以插入图库及设定图形属性。
连结标记:加入连结。
框架设定:用于设定网页框架。
通过tag标记可以对网页中各元素进行判断,这就为网页同窗体间的通信提供了一个非常好的通道。
二、WebBrowser控件[1]
WebBrowser是一个在.NET Framework 2.0版中新增的.的控件类。使用WebBrowser控件类使用户可以在Windows窗体应用程序中导航网页以及支持浏览器的其它文档。例如可以使用WebBrowser控件在应用程序中提供基于HTML的集成用户帮助或Web浏览功能。此外,还可以使用 WebBrowser控件向Windows窗体客户端应用程序添加Web的现有控件。
WebBrowser控件在使用中由于加载页面的内容量很大,会占用较大的系统资源,使用完该控件后一定要调用Dispose方法,以便确保及时释放资源。而且必须在附加事件的同一线程上调用Dispose方法,该线程应始终是消息或用户界面(UI)线程。
三、WebBrowser控件和窗体通信实例
下面,就通过一个实例来展示WebBrowser控件如何向窗体传递参数。
开发环境是Windows XP SP2,.NET Framework 3.5,Visual Studio.NET 2008。
1、打开Visual Studio.NET 2008,选择使用C#语言开发,新建一个工程Webbrowserandform。
打开工具箱,选择WebBrowser控件、contextMenuStrip控件放置到窗体。
在窗体的命名空间处添加:
using System.Threading;
“保存图片”属性Name:saveAsImageToolStripMenuItem;
“设置成桌面”属性Name:setAsDesktopWallpaperToolStripMenuItem;
“打开”属性Name:openToolStripMenuItem;
“刷新”属性Name:refreshToolStripMenuItem。
2、在窗体Load事件中添加如下代码
webBrowser1.Navigate("");
webBrowser1.ContextMenuStrip=contextMenuStrip1;
webBrowser1.IsWebBrowserContextMenuEnabled=false;
3、自定义鼠标右击函数contextMenuStrip1_Opening()
private void contextMenuStrip1_Opening(object sender,CancelEventArgs e)
{
Point ScreenCoord=new Point(MousePosition.X, MousePosition.Y);
Point BrowserCoord=webBrowser1.PointToClient(ScreenCoord);
HtmlElement elem=webBrowser1.Document.GetElementFromPoint(BrowserCoord);
for(int i=0; i {
contextMenuStrip1.Items[i].Visible=false;转贴于 免费论文下载中心
- 上一篇:浅议企业通信因管理而高效
- 下一篇:浅议电子及通信设备制造企业R&D国际化评估
相关论文
最新论文
热点论文
- [中等教育] 职专政治教育中的德育渗透
- 帮助学生树立正确的价值观和人生观,提升学生的个人品德与思想素质,是职专政治教育的主要目标与根本目的。但受限于传统政治教育的教学 [全文]
- [中国哲学] 传递“中国梦”正能量是记者的神圣使命
- 摘要:中国梦是中华民族伟大复兴的梦,是当今中华民族前进的动力,是当前中国最具影响力、最具感染力、最具普遍性的正能量。记者作为以 [全文]
- [财务控制] 论企业集团财务控制的对策
- 摘 要:市场经济飞速发展促使企业集团组织形式发生非常大的变化,那么企业集团需要有效利用自身发展优势,促进现代化经济发展。 改革逐渐 [全文]
- [财务控制] 中小企业的财务控制问题分析
- 摘 要:随着市场经济体制不断完善,我国中小企业进入快速发展阶段,其在国民经济发展中的作用被不断凸显出来。本文中笔者以中小企业财务管 [全文]
- [职业教育] 分析音乐课堂中的情感互动及学生体验
- 【摘要】针对音乐课堂中的情感互动及学生体验进行分析,基于学生的实际音乐学习需求、音乐学习目标等予以教学设计,以期能够不断提升音 [全文]
- [市场营销] 新时期下市场营销的演变趋势分析
- 摘要:随着全球经济互相影响,新市场格局的形成让新时期环境里市场营销不断发生变革。而本文主要是对当今市场新形势进行一个分析,找出对市 [全文]
- [国际贸易] 国际贸易融资创新及风险控制
- [摘 要] 国际贸易企业融资风险的主要表现有两种:一是国际贸易企业无法以自身的流动资金偿还债务,要通过集资的方式偿还债务本金和利息; [全文]
- [国际贸易] “互联网 +”时代下国际贸易发展策略研究
- 摘 要:随着网络技术和经济全球化的进一步发展,互联网关系到国际贸易领域的方方面面,并以全新的国际贸易形态,将分散在世界各地的市场, [全文]