WebBrowser

[WebBrowser] C#WebBrowser控件使用教程与技巧收集

淺唱寂寞╮ 提交于 2020-04-07 08:41:21
C#WebBrowser控件使用教程与技巧收集--苏飞收集 先来看看常用的方法 [C#] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Navigate( string urlString):浏览urlString表示的网址 Navigate(System.Uri url):浏览url表示的网址 Navigate( string urlString, string targetFrameName, byte [] postData, string additionalHeaders): 浏览urlString表示的网址,并发送postData中的消息 //(通常我们登录一个网站的时候就会把用户名和密码作为postData发送出去) GoBack():后退 GoForward():前进 Refresh():刷新 Stop():停止 GoHome():浏览主页 WebBrowser控件的常用属性: Document:获取当前正在浏览的文档 DocumentTitle:获取当前正在浏览的网页标题 StatusText:获取当前状态栏的文本 Url:获取当前正在浏览的网址的Uri ReadyState:获取浏览的状态 WebBrowser控件的常用事件:

.NET中WebBrowser控件内部页面的JS代码与外部C#代码的相互调用

蹲街弑〆低调 提交于 2020-04-07 08:39:58
今天为了应对一个工作中遇到的场景,研究了下使用.NET中自带的WebBrowser时内部的JS代码与外部的C#代码相互调用的问题 我的操作系统为Win7旗舰版,IDE版本为VS2012,.NET版本为4.5 经过测试我得出了如下几个结论:(C#写的部分简称C,WebBrowser内的页面代码简称B) 1、C调用B的JS代码,可以传参数,可以接返回值 使用的是 webBrowser.Document.InvokeScript("JS中函数名", new object[] {参数列表}) 2、B调用C中写的函数,可以传参数,可以接返回值 使用的是 window.external.[C#中的函数名](参数列表) 下面来说一下我是如何实现它们: 1、在C#代码中调用WebBrowser内页面的JS函数 可以通过WebBrowser控件中的Document.InvokeScript函数实现,不过要为放置WebBrowser的窗体相关类加特性: [System.Runtime.InteropServices.ComVisible(true)] 没有这个特性,运行时会报错: 2、从WebBrowser内的JS代码中调用C#相关函数 可以通过JS代码:window.external.函数名(参数) 来调用C#中同名同参数个数的函数