在chm文件中分配主题

时间:2017-04-27 09:02:40

标签: c# chm

我使用Sandcastle为项目创建了chm文件,并在该文件中分配了主题,但是当我关注特定文本框或按钮时,我无法在UI上获得特定的主题帮助。如何验证我是否正确分配了主题。 hhp文件的内容。

[ALIAS]
Demo1 = html\010709fb-ceda-dfce-990c-b8fc6d3427b2.htm
Search = html\4b81b5e6-47d5-1242-1a52-4e7427da77b7.htm

[MAP]
#define Demo1 1
#define Search 2

是不是正确。

1 个答案:

答案 0 :(得分:0)

请查看ShowHelp function fail notification并搜索FAR HTML作为帮助创作工具的HH API测试。检查您是否以正确的方式连接:

您可以使用应用程序代码中Help类提供的ShowHelp方法。按其上下文ID显示帮助主题,您需要:

Help.ShowHelp(this, "C:\foobar.chm", HelpNavigator.TopicId, "10001");

" C:\ foobar.chm"是CHM文件的完整路径," 10001"是要显示的主题的上下文ID,如帮助项目中所指定的。

请注意,您也可以使用#include声明。在文本编辑器中打开.hhp文件,并将ALIAS和MAP部分添加到HTMLHelp项目文件中,并将文件添加到帮助项目中:

[ALIAS]
#include alias.h

[MAP]
#include map.h

这两个文件的目的是简化开发人员和帮助作者之间的协调。映射文件将ID链接到地图编号 - 通常这可以由开发人员轻松创建并传递给帮助作者。然后,帮助作者创建一个别名文件,将ID链接到主题名称。

ALIAS档案

在文本编辑器中输入ALIAS详细信息,如IDH_90000 = index.htm。将文件另存为' alias.h'与帮助项目文件位于同一文件夹中。

;----------------------------------------
; alias.h file example for HTMLHelp (CHM)
; www.help-info.de
;
; All IDH's > 10000 for better format
; last edited: 2006-07-09
;----------------------------------------
IDH_90000=index.htm
IDH_10000=Context-sensitive_example\contextID-10000.htm
IDH_10010=Context-sensitive_example\contextID-10010.htm
IDH_20000=Context-sensitive_example\contextID-20000.htm
IDH_20010=Context-sensitive_example\contextID-20010.htm

MAP文件

在文本编辑器中输入MAP详细信息,例如#define IDH_90000 90000; frmMain。将文件另存为' map.h'与帮助项目文件位于同一文件夹中。

;--------------------------------------
; map.h file example for HTMLHelp (CHM)
; www.help-info.de
;
; All IDH's > 10000 for better format
; ;comment at end of line
;--------------------------------------
#define IDH_90000 90000;frmMain
#define IDH_10000 10000;frmAddressDataContextID-1
#define IDH_10010 10010;frmAddressDataContextID-2
#define IDH_20000 20000;frmAddressDataContextID-3
#define IDH_20010 20010;frmAddressDataContextID-4

有关详细信息,请参阅Creating Context-Sensitive Help for Applications