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();
}