如何:为组件指定帮助文件

更新:2007 年 11 月

在大多数情况下,应该允许使用组件的开发人员启用运行时“帮助”。然而,在某些情况下,允许组件在被调用时显示 HTML 帮助是有意义的。通过 System.Windows.Forms.Help 对象可以为组件提供 HTML 帮助。该对象是封装 HTML 帮助 1.x 引擎的静态类。此类无法实例化,其方法必须直接调用。若要显示“帮助”,请调用 Help.ShowHelp 方法。此重载方法要求至少两个参数:作为“帮助”对话框父控件的控件和帮助文件的 URL。帮助文件可以是已编译的 HTML 帮助 1.x 文件(.chm 文件)或 HTML 帮助格式的 HTML 文件。

如果打算在组件中直接并入帮助文件支持,则有两个何时与如何显示它的选项:

  • 首选选项实现一个可由客户端应用程序调用的“帮助”方法。客户端应用程序可以将参数传递给此“帮助”方法,以确保显示正确的主题,并确保编写组件代码的开发人员具有完全省略“帮助”的选项。

  • 另一个选项在条件在代码中出现时为响应它们而调用 ShowHelp 方法。该方法对何时显示什么“帮助”提供了最大控制,但它严重限制了未来的开发人员对组件的使用。

为组件指定和显示帮助文件

  1. 创建和编译 .chm 帮助文件。

  2. 如果组件还没有对 System.Windows.Forms 命名空间的引用,请添加一个。

  3. 创建显示“帮助”的公共方法。此方法为开发人员提供了一条指定需要显示什么“帮助”的捷径。

    ' This method takes parameters from the client application that allow
    ' the developer to specify when Help is displayed.
    Public Sub DisplayHelp (ByVal parent as System.Windows.Forms.Control, _
                            ByVal topic as MyHelpEnum)
       ' The file to display is chosen by the value of the topic
       ' parameter.
       Select Case topic
          Case MyHelpEnum.enumWidgets
             Windows.Forms.Help.ShowHelp(parent, "C:\Help\Widgets.chm")
          Case MyHelpEnum.enumMechanisms
             ' Insert code to implement additional functionality.
       End Select
    End Sub
    
    // This method takes parameters from the client application that allow
    // the developer to specify when Help is to be shown.
    public void MyHelp(System.Windows.Forms.Control parent, 
    myHelpEnum topic)
    {
       // The file to display is chosen by the value of the topic.
       switch (topic)
       {
          case myHelpEnum.enumWidgets:
             System.Windows.Forms.Help.ShowHelp(parent, " C:\\help\\widgets.chm ");
             break;
          case myHelpEnum.enumMechanism:
             // Insert code to implement additional functionality.
             break;
       }
    }
    

请参见

参考

Help

其他资源

组件的用户支持