C# .Net 2.0 实例学习:
WebBrowser 页面与 WinForm 交互技巧(一)
话说有了 WebBrowser 类,终于不用自己手动封装 SHDocVw 的 AxWebBrowser 这个
ActiveX 控件了。这个类如果仅仅作为一个和 IE 一模一样浏览器,那就太没意思了(还不
如直接用 IE 呢)。那么,无论我们是想做一个“定制版 IE” ,还是希望利用 HTML 来做用
户界面(指 WinApp 而非 WebApp。许多单机软件,包括 Windows 的帮助支持中心,都是
HTML 做的),都少不了 Windows Form 和包含在 WebBrowser 中的 Web 页面的交互。本文
将通过几个实际的例子,初步介绍一下 WinForm 和 WebBrowser 所包含的 Web 页面之间的
交互。
下 面 的 代 码 假 设 你 已 经 建 立 了 一 个 Windows Form , 上 面 有 一 个 WebBrowser 名 为
“webBrowser”。
Study Case 1:用 WinForm 的 Event Handler 响应 Web 页面的事件
现在有这样一个 Windows Application,它的界面上只有一个 WebBrowser,显示一个本地的
HTML 文件作为界面。现在的问题是,所有逻辑都可以放在 HTML 文件里,唯独“关闭”按
钮遇到了困难——通常,Web 页面是没有办法直接控制浏览器的,更不用说结束这个
WinForm 程序了。
但是,在.Net 2.0 当中,“由 Windows Form 响应 Web 页面的事件”已经成为了现实。
在 .Net 2.0 中 , 整 个 HTML 文 档 以 及 其 包 含 的 各 个 HTML 元 素 , 都 和 一 个 个
HtmlDocument、HtmlElement 之类的.Net 对象对应。因此只要找到这个“关闭”按钮对应的
HtmlElement 对象,为其 click 事件添加 Event Handler 即可。
假设 HTML 源代码如下:
<html>
<body>
<input type="button" id="btnClose" value="关闭" />
</body>
</html> 那么找出该按钮并为之添加 Event Handler 的代码如下:
评论0