用WinForm的ShowHelp()函数处理CHM文件

用WinForm的ShowHelp()函数CHM文件

ShowHelp()函数能够对CHM文件进行一定的操作,比如打开指定页面,检索关键字,检索首字母等。ShowHelp()函数有几个重载,下面我介绍比较常用的操作。

一、根据页面名字,打开指定页面

System.Windows.Forms.Help.ShowHelp(null, "E:\\Users\\Winner\\Desktop\\JavaScript.CHM", form.HelpNavigator.Topic, "html/jsmscruntimeerrors.htm");

注意:第一个参数如果不为null的话,必须指定WinForm的控件;第二个参数就是CHM文件路径;第三个参数是枚举变量;第四个参数是指定的HTML文件名前面加上“html\”。

二、检索关键字,但不打开页面

Help.ShowHelp(null, "E:\\Users\\Winner\\Desktop\\JavaScript.CHM", form.HelpNavigator.TopicId, "global");

注意:第四个参数是关键字,关键字必须是CHM已经规定好的关键字,如果想检索任意文字,ShowHelp()不支持。

三、检索关键字,如果匹配,则打开页面

Help.ShowHelp(null, "E:\\Users\\Winner\\Desktop\\JavaScript.CHM", form.HelpNavigator.KeywordIndex, "global");

四、只检索关键字的首字母,不打开页面

Help.ShowHelp(null, "E:\\Users\\Winner\\Desktop\\JavaScript.CHM", form.HelpNavigator.AssociateIndex, "Golbal");

五、只是打开检索页面,不进行其它任何操作,包括检索

Help.ShowHelp(null, "E:\\Users\\Winner\\Desktop\\JavaScript.CHM", form.HelpNavigator.Find, "Golbal");

    ShowHelp()函数提供的功能有限,如果想实现CHM的其它操作,必须自己写代码处理CHM文件,像最常用的检索CHM的任意文字内容。但是不好直接处理CHM文件,这时需要把CHM转换为其它文件进行处理,如转换为html文件。转换方法可以见我的另一篇文章:将CHM文件转换为HTML文件。

原文地址:https://www.cnblogs.com/wuhaowinner/p/CHM.html