Практическое руководство. Указание файла справки для компонента
В большинстве ситуаций следует предоставить разработчику, использующему компонент, возможность использовать справку во время выполнения. Однако в некоторых случаях имеет смысл позволить компонентам выводить HTML-справку на экран при запуске. Доступ компонентов к HTML-справке может осуществляться через объект System.Windows.Forms.Help. Этот объект представляет собой статический класс, инкапсулирующий ядро HTML Help 1.x. Экземпляры этого класса не создаются, а его методы вызываются напрямую. Чтобы вывести на экран справку, вызовите метод Help.ShowHelp. Для этого перегруженного метода требуется как минимум два аргумента: элемент управления, который является родительским по отношению к диалоговому окну "Справка", и URL-адрес файла справки. Файл справки может быть скомпилированным файлом HTML Help 1.x (CHM-файлом) или файлом HTML в формате HTML-справки.
Если предполагается включить поддержку файлов справки непосредственно в компонент, существует два способа это сделать.
Предпочтительный вариант заключается в том, чтобы реализовать метод Help, который будет вызываться из клиентского приложения. Клиентское приложение может передавать параметры в метод 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; } }