我使用HelpNDoc为我的应用程序中的上下文敏感帮助提供chm文件。
在这个软件中,您定义了帮助ID和相应的帮助上下文。例如,帮助ID可能是"SystemSetup",帮助上下文是57。
现在我的问题是:
我可以用这种方式呼叫帮助:
System.Windows.Forms.Help.ShowHelp(null, @"myhelp.chm", HelpNavigator.TopicId, "57");而且一切都很好,但是我可以用帮助ID( ShowHelp,"SystemSetup")来调用一些how call吗?
我问这是因为帮助上下文可能会改变,但是帮助ID始终保持不变。
发布于 2015-12-07 10:10:10
要做到这一点是不容易的。主题ID是您必须直接指向主题的最好的东西。我们用于生成CHM文件的软件允许将名称指定给主题,可以使用您的代码检索这些名称。
如果这不适用于您,并且您唯一拥有的是名称,您可以使用Topic枚举值和HTML的名称(如果它足够清晰的话)来完成它。
您可能需要这样的内容(您可以通过CHM查看器检索html文件名):
System.Windows.Forms.Help.ShowHelp(null, @"myhelp.chm", HelpNavigator.Topic, "SystemSetup.html");我不知道哪种选择更好。这取决于你和你的具体情况。
发布于 2016-01-05 10:36:52
HelpNDoc使用以下模式命名主题文件:"HELP_ID.htm",其中HELP_ID是该主题的唯一帮助Id。因此,您可以使用以下命令可靠地打开特定主题:
System.Windows.Forms.Help.ShowHelp(null, @"help.chm", HelpNavigator.Topic, "HELP_ID.htm");另外,正如您所发现的,HelpNDoc能够生成一个具有常量的源文件。您可以通过创建一个新的“代码”构建来自动生成它,并将其包含在您的构建过程中。参见逐步指南:如何创建要发布的新文档输出
https://stackoverflow.com/questions/34130611
复制相似问题