使用Id而不是Context

问题描述 投票:3回答:2

我使用HelpNDoc为我的应用程序中的上下文相关帮助提供chm文件。

在此软件中,您可以定义帮助ID和相应的帮助上下文。帮助ID例如可能是"SystemSetup",帮助上下文是57

现在我的问题:

我可以通过这种方式拨打电话:

System.Windows.Forms.Help.ShowHelp(null, @"myhelp.chm", HelpNavigator.TopicId, "57");

一切运作良好,但我可以用一些帮助ID(ShowHelp)来调用"SystemSetup"吗?

我问这个因为帮助上下文可以改变,但帮助ID始终保持不变。

c# visual-studio chm html-help helpndoc
2个回答
0
投票

没有简单的方法可以做到这一点。主题ID是您直接指向主题的最佳选择。我们用于生成CHM文件的软件允许将名称提供给主题,这些主题可以使用您的代码进行检索。

如果这对您不起作用,并且您唯一拥有的是名称,则可以通过使用Topic枚举值和HTML文件的名称(如果它足够清晰)来完成它。

这样的东西可能是你需要的东西(你可以通过CHM查看器检索html文件名):

System.Windows.Forms.Help.ShowHelp(null, @"myhelp.chm", HelpNavigator.Topic, "SystemSetup.html");

我不知道哪个选项更好。这取决于您和您的具体方案。


0
投票

HelpNDoc使用以下模式命名主题文件:"HELP_ID.htm"其中HELP_ID是该主题的所选唯一帮助ID。因此,您可以使用以下命令可靠地打开特定主题:

System.Windows.Forms.Help.ShowHelp(null, @"help.chm", HelpNavigator.Topic, "HELP_ID.htm");

此外,正如您所发现的,HelpNDoc能够生成包含常量的源文件。您可以通过创建新的“代码”构建来自动生成它并将其包含在构建过​​程中。请参阅分步指南:How to create a new documentation output to be published

© www.soinside.com 2019 - 2024. All rights reserved.