- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FormHTML界面
窗口与WebBrowser控件相结合开发程序界面
by skyfrog 2011/5/8 补
C# Windows应用程序与JavaScript交互
使用Winform WebBrowser控件对访问页面执行、改写、添加Javascript代码,可以解决许多问题,实现你想要的效果。
1. 在Form上添加Webbrowser控件,然后再Form类上添加COM可访问属性:
//设置如下属性让COM可访问(网页文件需要)
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
2. 初始化WebBrowser的Url与ObjectForScripting两个属性。
private void InitializeWebBrowser()
{
//设置URL
string path = Application.StartupPath + \\TOC.html;
if (File.Exists(path))
{
webBrowser1.Url = new Uri(path);
m_Ready = true;
}
else
webBrowser1.Url = new Uri(about:blank); //如果TOC文件不存在
//设置脚本调用对象
webBrowser1.ObjectForScripting = this;
}
Url属性:WebBrowser控件显示的网页路径
ObjectForScripting属性:该对象可由显示在WebBrowser控件中的网页所包含的脚本代码访问。
3. 在C#中调用Javascript方法
通过WebBrowser类的Document属性中的InvokeScript方法调用当前网页的Javascript方法。代码示例如下:
webBrowser1.Document.InvokeScript(AppendLayer, new object[1] { layerNameStr });
其中,AppendLayer是网页中的javascript方法名称,object数组是其参数。
4. 在Javascript中调用C#方法
JavaScript通过window.external调用C#公开的方法。即由ObjectForScripting属性设置的类的实例中所包含的公共方法。代码示例如下:
window.external.RemoveLayer(index);
实现Form与页面的交互
HtmlDocument htmlDoc = webBrowser1.Document;//得到webBrowser1控件中页面的所有文档 HtmlElement btnElement = htmlDoc.All[btnClose];//在文档中找到需要和form交互的元素 if (btnElement != null) { btnElement.Click += new HtmlElementEventHandler(HtmlBtnClose_Click);//给这个元素Click事件(元素为Button)加上EventHandler(委托方法名) }
WebBrowser控件说明
使用 WebBrowser 控件还可以显示在应用程序中创建的内容或从数据库或资源文件检索的内容。 使用 DocumentText 或 DocumentStream 属性,以字符串或数据流的形式获取或设置当前文档的内容。
还可以通过 Document 属性操作网页的内容,该属性包含一个 HtmlDocument 对象,向当前页提供对 HTML 文档对象模型 (DOM) 的托管访问。 该属性与 ObjectForScripting 属性组合使用时,对在应用程序代码与网页中的动态 HTML (DHTML) 代码之间实现双向通信十分有用,使用它可以在单个用户界面中组合基于 Web 的控件和 Windows 窗体控件。 在应用程序中可以使用 Document 属性调用脚本代码方法。 脚本代码可以通过 window.external 对象访问应用程序,该对象是用于主机访问的内置 DOM 对象,它映射到为
文档评论(0)