在c#windows应用程序中指定主题id的位置

在c#windows应用程序中指定主题id的位置,c#,chm,html-help,C#,Chm,Html Help,我是C#windows应用程序新手。我想使用Microsoft visual studio 2010 for windows应用程序工具栏中的帮助提供程序添加自定义帮助文件 我可以添加我的帮助文件,这是工作良好。我想提供上下文相关的帮助,这与help.ShowHelp()配合使用很好。在“属性”窗口中,我们有一个HelpNavigator属性,其中有一些选项,如.Topic,.TopicId,.AssociateIndex,.TableOfContents,.Index,.Find。我选择了.T

我是C#windows应用程序新手。我想使用Microsoft visual studio 2010 for windows应用程序工具栏中的帮助提供程序添加自定义帮助文件

我可以添加我的帮助文件,这是工作良好。我想提供上下文相关的帮助,这与
help.ShowHelp()
配合使用很好。在“属性”窗口中,我们有一个HelpNavigator属性,其中有一些选项,如
.Topic
.TopicId
.AssociateIndex
.TableOfContents
.Index
.Find
。我选择了
.TopicId
,但我想知道在哪里指定我的主题ID。我有两个问题

  • 通过在应用程序的.cs文件中编写代码,这可能吗
  • 如果是,那么help navigator属性的用途是什么

    • 短篇故事-不,您可以在不编写代码的情况下实现这一点(F1帮助)(但有时编码是更好的解决方案)

      HelpNavigator属性是一个枚举,指定从指定控件的帮助文件中检索帮助时要使用的帮助命令(另请参见:)

      将CHM帮助文件与应用程序连接并为控件提供上下文相关的帮助有一个很小的学习曲线

      下面的(代码)示例演示了如何通过F1使用上下文相关帮助,以及如何通过TopicId打开帮助查看器

      F1-帮助

    • 将HelpProvider组件添加到表单中。这将添加属性 例如
      .HelpKeyword
      .HelpNavigator
      .HelpString
      .ShowHelp
      。 将CHM文件的完整路径设置为
      HelpProvider.HelpNamespace
      属性
    • 要启用表单标题区域上的帮助
      按钮,请设置 以下表单属性的值
      HelpButton=True
      MaximizeBox=False
      MinimizeBox=False
    • 使用上面提到的控件属性为 控制当它有焦点且按下F1或
      按钮已被用户单击。例如,设置按钮1
      HelpKeyword
      属性设置为20010及其
      HelpNavigator
      属性设置为
      .TopicId
      如下面的屏幕截图所示
    • 。。。以及生成的帮助查看器窗口:

      打开帮助查看器

      以下代码用于打开TopicId 10000的帮助查看器和主题:

      private void btnTopicId_Click(object sender, EventArgs e)
      {
          Help.ShowHelp(this.btnOpenHelpShowTopic, helpProvider1.HelpNamespace, HelpNavigator.TopicId, @"10000");
      }
      

      是否要使用CHM帮助文件作为应用程序帮助?是的,我需要添加我的chlm文件感谢lot@help-info.de。现在又有一个问题向我提出,我们是否需要在上下文标题中包含主题ID。我已手动创建了主题ID,方法是为我的文件创建别名,然后在.hhp文件中为该别名指定主题ID我正在尝试在我的属性窗口中访问它。我走的是正确的道路还是我们有更好的解决方案?是的,您需要一个映射。请查看以了解更多信息。正如您所能看到的,该示例与上面的屏幕截图相匹配。问一个新问题以了解更多问题,请在提问前搜索StackOverflow。请注意-最好使用别名.h和map.h文件,并将这些文件名作为链接放入*.hhp项目文件中。非常感谢您的帮助信息。您的解决方案帮助我实现了我的目标wanted@HariPriya:我的荣幸!