방법: 구성 요소에 도움말 파일 지정
업데이트: 2007년 11월
대부분의 경우 구성 요소를 사용하는 개발자가 런타임 도움말을 사용할 수 있도록 해야 합니다. 그러나 어떤 경우에는 HTML 도움말이 호출되면 구성 요소에서 이를 표시하도록 할 수도 있습니다. System.Windows.Forms.Help 개체를 통해 구성 요소에 HTML 도움말을 제공할 수 있습니다. 이 개체는 HTML 도움말 1.x 엔진을 캡슐화하는 정적 클래스입니다. 이 클래스는 인스턴스화될 수 없으므로 메서드가 직접 호출되어야 합니다. 도움말을 표시하려면 Help.ShowHelp 메서드를 호출합니다. 이 오버로드된 메서드에는 최소한 두 개의 인수, 즉 도움말 대화 상자의 부모 컨트롤 역할을 하는 컨트롤과 도움말 파일의 URL이 필요합니다. 도움말 파일은 HTML 도움말 1.x 파일(.chm 파일) 또는 HTML 도움말 형식의 HTML 파일로 컴파일될 수 있습니다.
도움말 파일에 대한 지원을 직접 구성 요소에 통합하는 경우 도움말을 표시하는 시기와 방법에는 다음과 같은 두 가지 옵션이 있습니다.
자주 사용되는 옵션은 클라이언트 응용 프로그램에서 호출할 수 있는 Help 메서드를 구현하는 것입니다. 클라이언트 응용 프로그램에서는 Help 메서드로 매개 변수를 전달하여 정확한 항목이 표시되도록 보장할 수 있고 구성 요소를 사용하여 코딩하는 개발자는 도움말을 모두 생략할 수 있는 옵션을 사용할 수 있습니다.
다른 옵션은 코드에서 발생하는 상황에 대한 응답으로 ShowHelp 메서드를 호출하는 것입니다. 이 방법은 표시할 도움말과 그 시기를 가장 잘 제어할 수 있지만 나중에 개발자가 구성 요소를 사용하는 데 많은 제한이 따릅니다.
구성 요소의 도움말을 지정하고 표시하려면
.chm 도움말 파일을 만들고 컴파일합니다.
구성 요소에 System.Windows.Forms 네임스페이스에 대한 참조가 없는 경우 이 네임스페이스를 추가합니다.
도움말을 표시할 공용 메서드를 만듭니다. 이 메서드에서는 개발자가 표시할 도움말을 편리하게 지정할 수 있는 방법을 제공해야 합니다.
' 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; } }