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

时间:2017-10-06 12:26:27

标签: c# chm html-help

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

我可以添加我的帮助文件,这工作正常。我希望获得上下文敏感的帮助,这对Help.ShowHelp()工作正常。在属性窗口中,我们有一个HelpNavigator属性,其中包含.Topic.TopicId.AssociateIndex.TableOfContents.Index.Find等选项。我选择.TopicId,但我想知道在哪里指定我的主题ID。我有两个问题

  • 通过在应用程序的.cs文件中编写代码可以吗?
  • 如果是,那么帮助导航器属性的目的是什么?

1 个答案:

答案 0 :(得分:1)

简短的故事 - 不,你可以在不编写代码的情况下实现这一点(F1-Help)(但有时编码是更好的解决方案)。

HelpNavigator属性是一个枚举,它指定从帮助文件中检索指定控件的帮助时要使用的帮助命令(另请参阅:Help for controls with VB .NET)。

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

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

F1 - 帮助

  1. 将HelpProvider组件添加到表单中。这将添加属性 例如.HelpKeyword.HelpNavigator.HelpString.ShowHelp。 将CHM文件的完整路径设置为 HelpProvider.HelpNamespace财产。
  2. 要在表单的标题区域启用帮助?按钮,请设置 以下表单属性HelpButton = True的值, MaximizeBox = FalseMinimizeBox = False
  3. 使用上面提到的控件属性为a提供帮助 控制何时有焦点且 F1 被按下或? 用户点击了按钮。例如,设置 button1 HelpKeyword属性为20010及其HelpNavigator属性为 .TopicId如下面的屏幕截图所示。
  4. enter image description here

    ...以及生成的帮助查看器窗口:

    enter image description here

    打开“帮助查看器”

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

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

    enter image description here