Интеграция "Справка" в приложение WinForms

Я работаю над Visual Studio, нам нужно интегрировать в нее справочные меню. Я хотел бы сделать это в канонической моде Windows, но я не очень разбираюсь в .NET Framework в этом отношении. Поиск Google и SO не принес многого, потому что большинство результатов - это люди, просящие о помощи, а не помощь "помощи". Мета-помощь, если хотите.

Из исследования, которое я сделал, файлы .chm кажутся подходящими. Как генерируются эти файлы? Есть ли встроенный инструмент в VS?

Как только у меня есть файлы, как мне получить данные из них? Я просто хочу запустить их в отдельном процессе? Показать дополнительную форму и загрузить файл справки?

Кроме того, где я их храню? И как я могу показать приложение? Я нашел этот вопрос относительно нескольких локалей, которые будут полезны позже, но все еще кажется, что это далеко не все.

Ответ 1

Вы ищете что-то, называемое Поставщиком справки. Это компонент формы. Это позволяет вам отвечать на вызовы F1 на формах или элементах формы и сопоставлять их с разделом в файле справки.

http://msdn.microsoft.com/en-us/library/system.windows.forms.helpprovider.aspx

http://www.dotnetspider.com/resources/24241-F-Help-Provider.aspx

http://netpl.blogspot.com/2007/07/context-help-made-easy-revisited.html

Файлы CHM могут быть сделаны с помощью ряда бесплатных инструментов. Google "Бесплатные редакторы CHM" или что-то подобное. По умолчанию ничего не связано с VS.

Вы не получите данные из них. Что происходит, когда вы подключаете элемент управления к поставщику справки, вы предоставляете путь к соответствующему разделу в CHM. Затем он загрузит просмотрщик CHM и покажет соответствующий раздел.