导航

WebBrowser控件—实现属于自己的帮助文档系统

Posted on 2011-01-27 13:37  骑驴过赵桥  阅读(623)  评论(0编辑  收藏  举报

前段时间要自己给软件做一个帮助系统,开始想到用帮助文档生成工具,不过希望做出来以后具备通用性,能使用其他的软件,只要通过配置就能使用,于是,决定自己开发一个属于自己的帮助文档系统。

首先想到的是Winform下的WebBrowser控件,自己也用这个东西完全实现了自己的功能,这里就自己对该控件的认识简单的总结一下,大部分东西基本是来源于MSDN的。

该控件可以使用户在窗体中导航网页。使用WebBrowser控件可以在Windows窗体应用程序中承载网页及支持浏览器的其他文档。例如,可以使用WebBrowser控件在应用程序中提供基于HTML的集成用户帮助或Web浏览功能。此外,还可以使用WebBrowser控件向Windows窗体客户端应用程序添加基于Web的现有控件。

WebBrowser控件会占用大量资源。使用完该控件后一定要调用Dispose方法,以确保及时释放所有资源。必须在附加事件的同一线程上调用Dispose方法,该线程应始终是消息或用户界面(UI)线程。

使用这些控件,可以复制应用程序中的Internet Explorer Web浏览功能,还可以禁止默认的Internet Explorer功能,并将该控件用作简单的HTML文档查看器。此外,可以使用该控件将基于DHTML的用户界面原色添加到窗体中,还可以隐瞒这些元素在WebBrowser控件中承载的事实。

WebBrowser控件包含多种可以用来实现Internet Explorer中的控件的属性、方法和事件。例如,可以使用Navigate方法实现地址栏,使用GoBackGoForwardStopRefresh方法实现工具栏中的导航按钮。可以处理Navigated事件,以便使用Url属性的值更新地址栏,使用DocumentTitle属性的值更新标题栏。

值得一提的是,我的帮助文档系统的内容不是简单的网址,而是首先根据软件自定义该软件的帮助文档的树形目录结构,将其整理成一棵树,叶子结点是具体的帮助信息,其余部分都是由代码动态生成的,在这种情况下WebBrowser控件自带的GoBackGoForward方法都不起作用,前进后退功能只好自己模拟实现。