отображение chm из меню - PullRequest
       4

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

1 голос
/ 26 января 2011

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

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

Ответы [ 2 ]

9 голосов
/ 26 января 2011

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();
    }
0 голосов
/ 11 мая 2015

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

...