打开 chm 文件 c# 或 vb.net 目录的特定部分

Posted

技术标签:

【中文标题】打开 chm 文件 c# 或 vb.net 目录的特定部分【英文标题】:open specific part of table of contents of chm file c# or vb.net 【发布时间】:2013-10-08 09:46:07 【问题描述】:

我有一个名为 help 的 .chm 文件,在该文件中我的结构如下:

Introduction
  -item1
  -item2
Topic1
  -item1
  -item2
Topic2
  -item1
  -item2
Topic3

现在我想在我尝试过的 c# 或 vb.net 中打开 Topic1:

 Help.ShowHelp(ParentForm, "Help.chm", HelpNavigator.Index, "Topic1")
 Help.ShowHelp(ParentForm, "Help.chm", HelpNavigator.TableOfContents, "Topic1")
 Help.ShowHelp(ParentForm, "Help.chm", HelpNavigator.Topic, "Topic1")
 Help.ShowHelp(ParentForm, "Help.chm", HelpNavigator.KeywordIndex, "Topic1")

但不起作用,然后我尝试在 chm 文件中提供 Topic1 (31) 的索引并尝试:

 Help.ShowHelp(ParentForm, "Help.chm", HelpNavigator.Index, "31")
 Help.ShowHelp(ParentForm, "Help.chm", HelpNavigator.Index, "Item1")

它给出了执行,只有工作代码是:

 Help.ShowHelp(ParentForm, "Help.chm", HelpNavigator.TableOfContents, Nothing)

如何打开Topic1?

【问题讨论】:

【参考方案1】:

您可以使用 param 参数进一步细化 Topic、TopicId、KeywordIndex 或 AssociateIndex 命令。如果值 命令参数中指定的是 TableOfContents、Index 或 Find, 这个值应该是一个空字符串。如果命令参数 引用 Topic、TopicId、KeywordIndex 或 AssociateIndex,此值 应该是一个字符串,包含主题名称、关键字或 要显示的主题的数字标识符。

所以答案是:

Help.ShowHelp(ParentForm, "helpFile.chm", "topicURL.htm")

在打开的主题上右击找到的topicURL:

然后复制网址:

【讨论】:

以上是关于打开 chm 文件 c# 或 vb.net 目录的特定部分的主要内容,如果未能解决你的问题,请参考以下文章

Win10下打开chm文档提示无法显示该页的解决方法

如何使用 c# WPF 打开 chm 文件中的特定页面

CHM文件无法打开的解决方法

如何使用正则表达式匹配从 xml 文件中搜索和替换包含占位符标记的文本。 VB.net 或 C#

VB.NET如何更改保存程序的文件夹名?

C# 使用 HelpProvider 控件调用帮助文件