c# - 从菜单显示 chm

标签 c# winforms chm

嘿,
所以,基本上我试图让我的 .chm 文件在帮助窗口中打开,当我从 c# windows 窗体的菜单栏中单击“查看帮助”时。我该怎么做呢? .chm 是否需要在项目目录中?
我尝试使用 helpProvider 组件并将其命名空间设置为 .chm 文件,但是当我运行该应用程序时,按 F1 并没有显示它……而且我似乎无法弄清楚如何让菜单栏显示它。

谢谢!
戴夫·k。

最佳答案

HelpProvider在这里碍事,使用Help类(class)。首先,将 .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();
    }

关于c# - 从菜单显示 chm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4808840/

相关文章:

c# - Fluent NHibernate - 当模型中不存在显式父->子关系时级联删除子对象

c# - "new"关键字在 C# 中有什么作用,为什么它在不使用时只是一个警告?

C# 获取选中的双击列表框

c# - 如果文本框为空,如何禁用按钮

c# - 将自身类引用传递给子类

c# - 使用 XtraScheduler 通过特定自定义字段值获取约会

c# - 双击定时器事件

Windows 帮助文件 - 有哪些选项?

Java - 将 doc/docx 文件转换为 chm 文件

chm - 如何使用包含html文件的目录创建chm文件