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

cMi*_*nor 4 c# vb.net chm

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

Introduction
  -item1
  -item2
Topic1
  -item1
  -item2
Topic2
  -item1
  -item2
Topic3
Run Code Online (Sandbox Code Playgroud)

现在我想在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")
Run Code Online (Sandbox Code Playgroud)

但是没有用,那我试着给chm文件里面一个索引到Topic1(31)并尝试:

 Help.ShowHelp(ParentForm, "Help.chm", HelpNavigator.Index, "31")
 Help.ShowHelp(ParentForm, "Help.chm", HelpNavigator.Index, "Item1")
Run Code Online (Sandbox Code Playgroud)

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

 Help.ShowHelp(ParentForm, "Help.chm", HelpNavigator.TableOfContents, Nothing)
Run Code Online (Sandbox Code Playgroud)

如何打开Topic1?

cMi*_*nor 7

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

所以回答是:

Help.ShowHelp(ParentForm, "helpFile.chm", "topicURL.htm")
Run Code Online (Sandbox Code Playgroud)

topicURL发现右键单击已打开的主题:

在此输入图像描述

然后复制网址:

在此输入图像描述