使用 Id 而不是 Context
Use Id instead of Context
我使用 HelpNDoc 为我的应用程序中的上下文相关帮助提供 chm 文件。
在此软件中,您定义了一个帮助 ID 和相应的帮助上下文。
例如,帮助 ID 可能是 "SystemSetup"
,帮助上下文是 57
.
现在我的问题是:
我可以这样调用帮助:
System.Windows.Forms.Help.ShowHelp(null, @"myhelp.chm", HelpNavigator.TopicId, "57");
一切正常,但我可以用 help-ID ("SystemSetup"
) 调用 ShowHelp
吗?
我问这个是因为帮助上下文可以改变,但帮助 ID 始终保持不变。
没有简单的方法可以做到这一点。主题 ID 是您必须直接指向主题的最佳选择。我们用来生成 CHM 文件的软件允许为主题命名,可以使用您的代码检索这些名称。
如果这对您不起作用,并且您唯一拥有的就是名称,您可以使用 Topic
枚举值和 HTML 文件的名称来完成它(如果它足够明显)。
您可能需要这样的东西(您可以通过 CHM 查看器检索 html 文件名):
System.Windows.Forms.Help.ShowHelp(null, @"myhelp.chm", HelpNavigator.Topic, "SystemSetup.html");
我不知道哪个选项更好。这取决于您和您的具体情况。
HelpNDoc 使用以下模式命名主题文件:"HELP_ID.htm"
其中 HELP_ID
是为该主题选择的唯一帮助 ID。因此,您可以使用以下命令可靠地打开特定主题:
System.Windows.Forms.Help.ShowHelp(null, @"help.chm", HelpNavigator.Topic, "HELP_ID.htm");
此外,正如您所发现的,HelpNDoc 能够生成带有常量的源文件。您可以通过创建新的 "Code" 构建来自动生成它并将其包含在您的构建过程中。请参阅分步指南:How to create a new documentation output to be published
我使用 HelpNDoc 为我的应用程序中的上下文相关帮助提供 chm 文件。
在此软件中,您定义了一个帮助 ID 和相应的帮助上下文。
例如,帮助 ID 可能是 "SystemSetup"
,帮助上下文是 57
.
现在我的问题是:
我可以这样调用帮助:
System.Windows.Forms.Help.ShowHelp(null, @"myhelp.chm", HelpNavigator.TopicId, "57");
一切正常,但我可以用 help-ID ("SystemSetup"
) 调用 ShowHelp
吗?
我问这个是因为帮助上下文可以改变,但帮助 ID 始终保持不变。
没有简单的方法可以做到这一点。主题 ID 是您必须直接指向主题的最佳选择。我们用来生成 CHM 文件的软件允许为主题命名,可以使用您的代码检索这些名称。
如果这对您不起作用,并且您唯一拥有的就是名称,您可以使用 Topic
枚举值和 HTML 文件的名称来完成它(如果它足够明显)。
您可能需要这样的东西(您可以通过 CHM 查看器检索 html 文件名):
System.Windows.Forms.Help.ShowHelp(null, @"myhelp.chm", HelpNavigator.Topic, "SystemSetup.html");
我不知道哪个选项更好。这取决于您和您的具体情况。
HelpNDoc 使用以下模式命名主题文件:"HELP_ID.htm"
其中 HELP_ID
是为该主题选择的唯一帮助 ID。因此,您可以使用以下命令可靠地打开特定主题:
System.Windows.Forms.Help.ShowHelp(null, @"help.chm", HelpNavigator.Topic, "HELP_ID.htm");
此外,正如您所发现的,HelpNDoc 能够生成带有常量的源文件。您可以通过创建新的 "Code" 构建来自动生成它并将其包含在您的构建过程中。请参阅分步指南:How to create a new documentation output to be published