Как сделать справку в windows forms

Обновлено: 04.07.2024

а бес его знает. Это надо сидеть - разбираться, а мне это мягко говоря не интересно.
Я вот Joomla пару лет тому назад сидел изучал - сайт как-то в ворде в наши дни некрасиво делать. И так она меня бесит. Черный ящик (причем его устройство мне опять же не интересно), да еще и дырявый до кучи -надо переодически проверять чтоб какая тварь скриптовая файлы на сервере не портила.

В ворде по крайней мере есть форматирование и с ним обычно человек умеет работать (если про "чайника"), для help этого достаточно.
Хотя когда надо сделать:

то в ворде порой можно свихнуться.

Наш пишет, что сам Микрософт с 1997 года уже выпустил для себя две новые редакции хелпа, но продолжает втюхивать пользователям это глючное старье. Лично я раза три пытался сделать хелп на этом говне, но устал бороться с греческими кодировками и плюнул.

Cat2
но устал бороться с греческими кодировками и плюнул.

В настройках chm-проекта шрифтик меняется.
+ общий совет: с греческими кодировками надо один раз побороться на своем компьютере в панели управления -> Язык и стандарты -> (для программ не поддерживающих Юникод). Иначе замучаешься бороться.

Cat2
Полностью с ним солидарен. Старомодный интерфейс.

При запуске из программы можно побороть. Было бы желание.

А по поводу:
в панели управления -> Язык и стандарты -> (для программ не поддерживающих Юникод).
Да естественно на всех клиентах, а ты этого не знал?
Иначе у тебя будет число проблем каждого клиента помноженное на число клиентов.
Этим ты себя спасешь от кучи подобных проблем.
Далеко не все поддерживает Юникод.

Не, если половина клиентов - греки - и все читают хэлпы по гречески и работают проги у них на греческом, и при этом не в Юникоде, то тогда это не спасет. Но тогда надо и язык НЕюникода ставить "Греческий".

Если ОС Русская, то при дефолтной установке там сразу должно быть "Русский", но это не всегда работает, в завис. от дистрибутива и т.п., Давно не устанавливал русские ОС, но для меня например приоритет выставить EN -как язык ввода по умолчанию при загрузке ОС, когда начинаешь это менять в процессе установки, то опция НЕЮникода может сбиться. Пока про эту опцию не просек, лет 8 назад, переустанавливал ОС как только видел а Far иероглифы.

Cat2
А если другие программы требуют другой опции?

Если на одном компе есть.
Прога на русском (НЕ Юникод)
Прога на польском (НЕ Юникод)
то вообще говоря никак не решишь.
Английские буквы - общие, остальное надо выбирать кодировку, чем то жертвовать.
Для этого Юникод и придумали.

Установка Dr.Explain


Рисунок 1. Мастер установки «Dr.Explain»

Создание и настройка нового проекта

При запуске программы в окне «Проекты Dr.Explain» (Рисунок 2) выберите пункт «Создать новый проект» и нажмите «ОК», либо используйте пункт «Файл -> Создать» главного меню.


Рисунок 2. Окно «Проекты Dr.Explain»

Для настройки параметров экспорта в формат CHM, выберите пункт «Настройки -> Настройки проекта» в главном меню. Выберите раздел «CHM экспорт» в окне настроек.

Создание тематических разделов в файле справки

Создайте новую тему с помощью пункта «Настройки -> Добавить тему» главного меню. Также можно использовать пункт «Добавить -> Добавить тему» контекстного меню, которое вызывается нажатием правой кнопки мыши на любой позиции дерева проекта (Рисунок 3).


Рисунок 3. Дерево проекта «Dr.Explain»

Настройте порядок следования разделов в структуре документа с помощью пунктов «Выше» и «Ниже» контекстного меню. Изменить названия тем можно с помощью пункта «Переименовать».

Далее создайте содержимое разделов, выберите интересующий пункт в дереве проекта и приступайте к заполнению в окне редактора. Заполняйте раздел в свободной форме. В редакторе предусмотрены основные стандартные функции редактирования и форматирования текста и ряд функция для работы с изображениями, видео, таблицами и переменными. Использование переменных позволяет заменить повторяющиеся данные именем переменной. В таком случае при изменении присвоенного переменной значения, соответствующий текст изменится во всем документе.

Для повышения удобства поиска по файлу справки создайте и настройте ключевые слова. Откройте окно ключевых слов — кнопка «Ключевые слова» (Рисунок 4). Для добавления и удаления слов служат одноименные кнопки. Настройте привязку тем к словам, для этого выбрав интересующий раздел в структуре проекта, проставьте метки в полях тех терминов, которые хотите ассоциировать с данной темой.


Рисунок 4. Ключевые слова


Рисунок 5. Окно «Захват объекта»

После открытия окна «Захват объекта» (Рисунок 5) установите метки в поле «Accessible -объект» или «Win 32-окно», затем выполните захват изображения интересующей формы одним из способов, предложенных в окне захвата. В структуре документа будет автоматически создан раздел, содержащий аннотированное изображение формы приложения (Рисунок 6). В окне редактора можно добавить и удалить аннотацию или изменить порядок следования описания отдельных элементов.


Рисунок 6. Результат выполнения захвата объекта

Настройка значений Help ID


Рисунок 7. Изменение значения Help ID в окне «Свойства страницы»

Предварительный просмотр и сохранение проекта

Перед экспортом проекта используйте функцию предварительного просмотра — кнопка «Просмотр CHM», чтобы убедиться в корректном отображении всех разделов справки. Если необходимо внести изменения, вернитесь в режим редактирования.

Для сохранения проекта выберите пункт «Файл -> Сохранить как» главного меню, введите имя файла и укажите путь его размещения в открывшемся окне сохранения.

Экспорт проекта в CHM-файл


Рисунок 8. Окно «Экспорт в CHM»

  • откройте проект с помощью средств среды разработки, которую вы используете;
  • в редакторе форм (Рисунок 9) выберите «Button» из панели элементов;
  • поместите элемент в форму;
  • в свойствах элемента задайте название и подпись кнопки, например, например, «HlpButton» и «Help». Параметры вводятся в поля «Name» и «Text» соответственно;


Рисунок 9. Редактор форм среды разработки Microsoft Visual Studio


Рисунок 10. Редактор кода среды разработки Microsoft Visual Studio

При таком способе вызова файла справки при любых его перемещениях необходимо заново указывать в коде полный путь.

Будьте внимательны, для обеспечения правильной работы элемента вызова файла справки строго соблюдайте синтаксис, приведенный в примерах.

  • добавьте компонент «Help Provider» путем егоперемещения в форму приложения из панели элементов. Значок компонента появится в нижней части окна редактора форм;

ОБРАТИТЕ ВНИМАНИЕ: Допускается использование нескольких компонентов «Help Provider». Это удобно в том случае, когда информация о различных элементах содержится в различных файлах справки. Также вы можете использовать отдельные компоненты для различных форм;

  • в окне свойств элемента «Help Provider» укажите расположение файла справки — поле «HelpNamespace»

ОБРАТИТЕ ВНИМАНИЕ: Если файл справки располагается в одной папке с исполнительным файлом приложения, то достаточно указать только имя файла. При раздельного размещении файлов необходимо указать полный путь. В таком случае при любом перемещении файла справки, значение параметра «HelpNamespace» должно быть заменено актуальным.

  • в окне свойств объекта внесите значение Help ID соответствующего объекту раздела справки в поле «HelpKeyword on Help Provider1». Выберите значение «TopicId» для поля «Help Navigator on Help Provider1»

ОБРАТИТЕ ВНИМАНИЕ: Количество параметров «HelpKeyword …» и «Help Provider…» в свойствах объектов соответствует количеству используемых компонентов «Help Provider», а цифра в наименовании параметра соответствует номеру компонента. Будьте внимательны при заполнении данных полей;

  • убедитесь в правильной работе компонента «Help Provider». Запустите отладку — пункт «Debug -> Start debugging» главного меню, после чего на экране появится стартовая форма приложения. При нажатии клавиши «F1» должен открыться тот раздел файла справки, который соответствует элементу, находящемуся в фокусе;
  • повторите описанную процедуру для всех объектов, которые необходимо ассоциировать с определенными разделами файла справки.

Открытие определенных разделов файла справки с помощью компонента Help Provider

Помимо вызова определенных разделов файла справки по соответствующим им HelpID, компонент «HelpProvider» также может быть использован для адресации разделов с использованием других параметров. Для настройки вызова определенных разделов необходимо установить соответствующие значения полей «HelpKeyword on Help Provider1» и «Help Navigator on Help Provider1» в свойствах элементов. Для настройки вывода определенных разделов файла справки при нажатии клавиши «F1» проделайте следующие действия:

  • добавьте компонент «Help Provider», перетащите его из панели элементоввформу. Компонент отобразится в нижней части окна редактора форм;
  • укажите расположение файла справки — поле «HelpNamespace» в окне свойств объекта «Help Provider»;
  • в окне свойств элемента, в поле «HelpNavigator on Help Provider1» выберите интересующий параметр:

·AssociateIndex— открывает вкладку «Указатель» иподсвечивает в списке первое по порядку ключевое слово, название которого начинается с сочетания символов в поле «HelpKeyword on Help Provider1»;

·Index — открывает вкладку «Указатель» и подсвечивает в спискеключевое слово, указанное в поле «HelpKeyword on Help Provider1»;

·Find — открывает вкладку «Поиск»;

·TableOfContents — открывает оглавление;

·Topic — открывает раздел, название которого указано в поле «HelpKeyword on Help Provider1».

ОБРАТИТЕ ВНИМАНИЕ: Название раздела указывается в формате «Topic.htm», это необходимо для правильной работы вызова справки.

·TopicId — открываетраздел,которому соответствует параметр Help ID, указанный в поле «HelpKeyword on Help Provider1»;

·KeywordIndex — открывает вкладку «Указатель» и выводит список разделов, содержащих ключевое слово, указанное в поле «HelpKeyword on Help Provider1».

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

Если необходимо вызвать определенный раздел справочной системы с помощью кнопки, используйте следующие фрагменты кода:

При разработке программы хорошим тоном является снабжение этой программы справочной системой. И чем сложнее программа, тем более необходимой оказывается справочная система.

Имеется много различных способов и средств для разработки справки. Рассмотрим один из них — это разработка справочной системы в виде файла с расширением chm при помощи бесплатной программы HTML Help Workshop фирмы Microsoft.

Формат CHM ( Compiled HTML — скомпилированный HTML) широко используется фирмой Microsoft для создания справочных файлов к своим продуктам.

При разработке справочной системы есть смысл придерживаться следующего порядка:

продумать общую схему справочной системы, т.е. какие темы должны быть отражены в справке;

готовые тексты конвертировать в формат html . В ООО для этого достаточно выбрать пункт меню Файл/Сохранить как и сохранить в формате html (тип файла — Документ HTML );

создать новый проект справочной системы и включить в него тексты справки в формате html .

Рассмотрим последний пункт более подробно.

Создание нового проекта

Создать новый проект очень просто. Рассмотрим этот процесс по шагам:

Запускаем программу HTML Help Workshop:


Выбираем пункт меню File/New и в открывшемся окне диалога New выбираем строку Project и нажимаем на кнопку OK .

Появится первое окно мастера. В нём нам нечего делать, поэтому сразу нажимаем клавишу Далее .

Во втором окне мастера задаём имя проекта, например HelpAlfa, и определяем папку, где будет находится этот проект. Лучше всего указать ту же папку, где хранятся ранее созданные файлы справки в формате html .

В третьем окне мастера можно сразу же добавить файлы справки в проект, но лучше это сделать позже без использования мастера. Поэтому опять нажимаем кнопку Далее .

В последнем окне остаётся только нажать кнопку Готово .

Всё, проект создан. Он имеет расширение hhp . Так будет выглядеть окно программы HTML Help Workshop:


Сохраним файл проекта.

Добавление новых файлов справки

Во вкладке Project нажимаем вторую сверху кнопку Add/Remove topic files ( Добавление/Удаление файлов разделов ). Открывается окно Topic Files , нажимаем на кнопку Add и в окне диалога выбираем нужные файлы для нашей справки в формате html . В конце необходимо нажать на кнопку OK для подтверждения своего выбора. Для удаления ненужных файлов служит кнопка Remove .

Теперь в основном окне вкладки Project кроме секции [OPTIONS] появилась секция [FILES] с перечнем тех файлов, что мы только-что выбрали:


Создание оглавления

После того, как все файлы справки добавлены в проект, можно приступить к созданию оглавления. Выполним следующие действия:

В окне файла проекта выбираем вкладку Contents . В появившемся окне диалога выбираем пункт Create a new contents file ( Создание нового файла оглавления ) и нажимаем кнопку OK .

В открывшемся стандартном диалоге Сохранить как задаём имя файла оглавления. Оно получит расширение hhc . Я дал оглавлению имя Oglavlenie. В папке с проектом справки был создан файл Oglavlenie.hhc.

После этого будет открыта вкладка Contents , имеющая свой набор инструментов, расположенных слева:


Теперь самое важное: необходимо связать пункты оглавления с соответствующими им файлами справки (для «книги» это не всегда требуется, а для «страницы» это обязательно).

Добавление «страницы. Щелкаем по кнопке Insert a page , также открывается окно Table of Contents Entry и в поле Entry title набираем поясняющий текст, например, «Введение», затем нажимаем кнопку Add , затем Browse , выбираем имя файла и нажимаем кнопку OK , а затем снова OK .

И так последовательно заводим всё оглавление. Как видим, всё достаточно просто.

Редактирование оглавления

Выделив необходимый пункт оглавления, его можно отредактировать.

Прежде всего, необходимо убедится в правильности следования пунктов оглавления. Для перестановки вверх служит кнопка Move selection up ( Переместить выделенное вверх ), для перестановки вниз — Move selection down ( Переместить выделенное вниз ).

Затем с помощью кнопок Move selection right ( Переместить выделенное вправо ) и, при необходимости, — Move selection left ( Переместить выделенное влево ), определяем вложенность пунктов оглавления.

Внешний вид значка для «книги» можно подредактировать. Выделяем нужный объект («книга»), нажимаем кнопку Edit selection , открываем вкладку Advanced и в списке Image index вместо auto выбираем, к примеру, 1 (Внимание! «Книга» не должна быть пуста, т.е. в неё должна входить хотя бы одна страница).

Пример того, что может получиться.


А вот так справочная система будет выглядеть в работе:


Создание предметного указателя

Предметный указатель, по своей сути, является альтернативой оглавлению. Есть смысл создавать предметный указатель только в том случае, когда справочная система велика, и поиск по оглавлению получается долгим.

Порядок создания предметного указателя аналогичен порядку создания оглавления. Рассмотрим это по шагам:

В окне проекта щёлкаем по вкладке Index . В появившемся окне выбираем пункт Create a new index file и нажимаем на кнопку OK .

В открывается окне диалога Сохранить как задаём имя индексного файла. Можно согласиться с тем, что идёт по-умолчанию: Index.hhk. Окно проекта будет выглядеть так:


В поле Keyword ( Ключевое слово ) набираем необходимое ключевое слово, например, «Функции». Именно в таком виде это слово будет показываться во вкладке Указатель панели навигации справочника.

Теперь необходимо связать ключевое слово с разделом справочника. Нажимаем кнопку Add ( Добавить ), в новом окне нажимаем кнопку Browse ( Выбор ) и указываем имя файла. Здесь же необходимо заполнить поле Title .

Таким же образом заполняем информацию для остальных ключевых слов.

Редактирование предметного указателя

Предметный указатель можно упорядочить — кнопка Sort keywords alphabetically ( Сортировать в алфавитном порядке ).

Есть и другие возможности по редактированию предметного указателя, но на них мы не останавливаемся.

После создания файла справки, его необходимо подключить к нашей программе. Всё рассмотрим на элементарном примере. Пусть имеется простейшая программа с пунктами меню Файл/Выход и Помощь/Справка . Создадим для них необходимые обработчики.

Разработчик имеет в своем распоряжении широкий спектр технологий. Они не только очень быстро развиваются, но и вынуждают программистов постоянно овладевать новыми знаниями. Поскольку все обо всем знать невозможно, разработчик должен непрерывно учиться. Часто знание того, как найти информацию о той или иной технологии, является таким же важным, как и способность ее освоить. К счастью, существует множество информационных источников, содержащих информацию об этих технологиях. Включение в интегрированные среды разработки технологии автоматического дополнения IntelliSense, произошедшее около десяти лет назад, стало одним из важнейших обстоятельств, облегчивших работу разработчиков, но этот инструмент не может полностью заменить полноценную справочную систему, содержащую подробную информацию. Чтобы решить эту задачу, в среду Visual Studio включена справочная система для разработчиков.

Проще всего получить справку в среде Visual Studio 2013, использовав тот же метод, что и в любом другом Windows-приложении - нажав универсальную клавишу <F1> . Среда Visual Studio 2013 имеет свою фирменную справочную систему, использующую технологию Microsoft Help 3. Вместо использования специальной "оболочки" и предоставления пользователю средств навигации по ней справочная система теперь открывает окно браузера. Для доступа к более сложным возможностям справочной системы, например возможностям поиска (при работе в автономном режиме), существует специальное приложение "слушатель" (listener), выполняющееся в области системных уведомлений и обслуживающее запросы пользователей. Как в интерактивном, так и в автономном режиме справочная система и выглядит, и работает почти одинаково.

Справочная система в среде Visual Studio является контекстно-зависимой. Это означает, что если курсор в настоящий момент расположен в определении класса в проекте и пользователь нажал клавишу <F1> , то в окне справки моментально откроется мини-учебник о текущей инструкции и способах ее использования:

Окно справки в Visual Studio

Это невероятно полезное свойство, поскольку в этом случае вы быстрее получите необходимую информацию, чем если просто нажмете клавишу <F1> и станете искать нужное описание, листая справочную систему. Однако в некоторых ситуациях следует перейти сразу к содержанию справочной системы. Среда Visual Studio 2013 позволяет сделать это с помощью команды View Help меню Help.

Команда View Help

Кроме использования справочной системы, пользователь также может зайти на форумы MSDN и сообщить о проблеме.

Навигация и поиск в справочной системе

Навигация по справочной системе очень напоминает перемещение по веб. В левой части окна браузера содержатся ссылки на страницы, принадлежащие тому же разделу справочной системы, что и страница, просматриваемая в данный момент, а также несколько ссылок, связанных с текущей страницей.

В правом верхнем углу окна браузера имеется окно для ввода поискового запроса, который вводится точно так же, как и в любой поисковой системе, например Google или Bing. Поиск является полнотекстовым и распространяется на все страницы справочной системы, причем запрос не обязательно должен содержаться в заголовках страниц. В итоге пользователь получит результаты, аналогичные результатам, которые он мог бы получить с помощью любой поисковой машины. В окне выводится по одной строке о каждом результате, чтобы можно было найти требуемый. Чтобы прочитать нужную статью, следует щелкнуть на соответствующей строке.

Конфигурирование справочной системы

Когда пользователь впервые обращается к справочной системе, целесообразно настроить ее под свои нужды. Для этого можно выбрать команду Help --> Set Help Preferences. Всплывающее меню предлагает два варианта: интерактивный (Use Online Help) или автономный режим работы (Launch in Helper Viewer). Если пользователь выбирает интерактивный режим, то нажатие клавиши <F1> или открытие справки из меню Help автоматически приведет его на соответствующую страницу в документации MSDN, расположенной в Интернете (с учетом текущего контекста системы Visual Studio). Выбирая автономный режим, пользователь попадет на соответствующую страницу в документации, установленной локально (при условии, что она действительно была развернута на данном компьютере).

Преимущество интерактивного режима над автономным заключается в том, что он всегда предоставляет обновленную информацию и не требует затрат памяти на жестком диске пользователя (при условии, что он не разворачивал справочную систему локально). Недостатком является необходимость постоянно поддерживать активное соединение с Интернетом и временами более медленная работа (в зависимости от ширины полосы пропускания), чем в автономном режиме. По существу, это компромисс, на который пользователь должен пойти самостоятельно.

Итак, новая справочная система представляет собой мощный интерфейс, обеспечивающий доступ к документации, сопровождающей пакет инсталляции Visual Studio 2013. Возможность переключаться между автономным и интерактивным режимами позволяет устанавливать баланс между скоростью поиска информации в локальной документации и релевантностью информации, найденной в веб. Кроме того, для каждого результата поиска она показывает один абзац, независимо от его расположения, чтобы минимизировать количество ложно позитивных результатов.

Читайте также: