Отображение chm из меню

Привет! Итак, в основном я пытаюсь открыть мой файл.chm в окне справки, когда я нажимаю "Просмотреть справку" в строке меню в форме aC# windows. Как мне это сделать? CHM должен быть в каталоге проекта? я попытался использовать компонент helpProvider и установить его пространство имен для файла.chm, но когда я запускаю приложение, нажатие клавиши F1 не вызывает его... и я не могу понять, как заставить строку меню показать это.

Спасибо! Дейв К.

2 ответа

Решение

HelpProvider мешает здесь, используйте Help учебный класс. Прежде всего, помещать файл.chm в тот же каталог, что и ваш EXE, - очень хорошая идея. Проект> Добавить существующий элемент> выберите файл.chm, чтобы он был добавлен в ваш проект. Выберите его в окне обозревателя решений, в окне "Свойства" установите "Построить действие = Содержимое", "Копировать в выходной каталог" = "Копировать, если новее".

Пример кода для вашей формы:

using System.IO;
...

    private void showMyHelp() {
        string path = Path.GetDirectoryName(Application.ExecutablePath);
        path = "file://" + Path.Combine(path, "example.chm");
        Help.ShowHelp(this, path);
    }
    protected override bool ProcessCmdKey(ref Message msg, Keys keyData) {
        if (keyData == Keys.F1) {
            showMyHelp();
            return true;
        }
        return base.ProcessCmdKey(ref msg, keyData);
    }
    private void HelpButton_Click(object sender, EventArgs e) {
        showMyHelp();
    }

Process.Start(Application.StartupPath + "\help.chm");

Другие вопросы по тегам