ПОНЯТНО О Visual Basic NET (том 3)

       

Привязываем справку к приложению Windows


Теперь нужно сделать, чтобы справка нормально работала из нашего игрушечного проекта, для которого она и предназначена. Подобно всем солидным приложениям Windows создадим в проекте меню Help с двумя пунктами: Содержание и Index. Кроме того предусмотрим контекстно-зависимую справку, а именно, когда в фокусе находится кнопка (а она, по правде говоря, у нас всегда будет в фокусе), то при нажатии на F1 должна появляться справка про действие именно этой кнопки (пусть это будет Звук.htm).

Для удобства адресации переместите файл Справка.chm в папку BIN проекта.

Чтобы справка работала из приложения, ее нужно к приложению привязать. Поместим в проект элемент управления HelpProvider. В окне его свойств зададим в качестве свойства HelpNamespace файл Справка.chm. Привязка закончена.

Теперь настроим контекстно-зависимую справку. Зайдем в окно свойств нашей кнопки. Там появились три новых свойства, имеющие отношение к справке, два из которых нас интересуют. Установите свойству HelpKeyword on HelpProvider1 значение Звук.htm, а свойству HelpNavigator on HelpProvider1 – значение Topic.

Запустите проект. Нажмите F1. Поскольку кнопка в фокусе, вы увидите окно справки с открытым документом Звук.htm, что и требовалось.

Если бы у вас на форме было несколько элементов управления, то вы для каждого могли бы установить упомянутые два свойства и тогда при нажатии на F1 вы бы видели справку, касающуюся именно того элемента управления, который находится в фокусе.

Чтобы на экране справка показывалась без нажатия на F1, а при выполнении оператора, вам нужно использовать методы класса Help. Чтобы справка появлялась с содержанием, вам нужно использовать метод ShowHelp, а чтобы с алфавитным указателем – метод ShowHelpIndex. Ниже вы видите код нашего проекта:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Beep()

End Sub

Private Sub Меню_содерж_Click(ByVal sender As Object, ByVal e As EventArgs)  Handles Меню_содерж.Click

        Help.ShowHelp(Me, "Справка.chm")

End Sub

Private Sub MenuIndex_Click(ByVal sender As Object, ByVal e As EventArgs)  Handles MenuIndex.Click

        Help.ShowHelpIndex(Me, "Справка.chm")

End Sub

Задание выполнено. Справка работает.



Содержание раздела