방법: 구성 요소에 도움말 파일 지정

대부분의 경우 구성 요소를 사용하는 개발자가 런타임 도움말을 사용할 수 있도록 해야 합니다. 그러나 어떤 경우에는 HTML 도움말이 호출되면 구성 요소에서 이를 표시하도록 할 수도 있습니다. System.Windows.Forms.Help 개체를 통해 구성 요소에 HTML 도움말을 제공할 수 있습니다. 이 개체는 HTML 도움말 1.x 엔진을 캡슐화하는 정적 클래스입니다. 이 클래스는 인스턴스화될 수 없으므로 메서드가 직접 호출되어야 합니다. 도움말을 표시하려면 Help.ShowHelp 메서드를 호출합니다. 이 오버로드된 메서드에는 최소한 두 개의 인수, 즉 도움말 대화 상자의 부모 컨트롤 역할을 하는 컨트롤과 도움말 파일의 URL이 필요합니다. 도움말 파일은 HTML 도움말 1.x 파일(.chm 파일) 또는 HTML 도움말 형식의 HTML 파일로 컴파일될 수 있습니다.

도움말 파일에 대한 지원을 직접 구성 요소에 통합하는 경우 도움말을 표시하는 시기와 방법에는 다음과 같은 두 가지 옵션이 있습니다.

  • 자주 사용되는 옵션은 클라이언트 응용 프로그램에서 호출할 수 있는 Help 메서드를 구현하는 것입니다. 클라이언트 응용 프로그램에서는 Help 메서드로 매개 변수를 전달하여 정확한 항목이 표시되도록 보장할 수 있고 구성 요소를 사용하여 코딩하는 개발자는 도움말을 모두 생략할 수 있는 옵션을 사용할 수 있습니다.

  • 다른 옵션은 코드에서 발생하는 상황에 대한 응답으로 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

기타 리소스

구성 요소에 대한 사용자 지원