在某个主题加载chm帮助文件

时间:2014-03-27 15:05:28

标签: c# forms load chm

我正在努力解决一些代码问题,看不出有什么问题。 我无法从项目中的资源加载嵌入式chm帮助文件,但是在某些" remote"路径完美无瑕。

        private void help_Click(object sender, EventArgs e)
        {
          //System.Windows.Forms.Help.ShowHelp(this,"file://C:\\Users\\user\\Desktop\\htmlCHM\\Administration.chm", "DodavanjeKorisnika.htm");
            System.Windows.Forms.Help.ShowHelp(this, "ICTSIbilling.Resources.Administration.chm", "DodavanjeKorisnika.htm");
        }

path should be correct

如果您看到针对Administration.chm的解决方案资源管理器上的路径位于ICTSIbilling.Resources.Admininistration.chm

我做错了什么?

2 个答案:

答案 0 :(得分:2)

ShowHelp需要一个URL传递给外部Windows帮助查看器应用程序,您不能在二进制文件中传递任意资源标识符的名称,并期望它能够执行任何操作。

单独运送chm(这样人们也可以独立运行)。

答案 1 :(得分:2)

我找到了另一种适用于我的解决方案,我希望与其他计划实施类似功能的人分享。首先,我创建了文件夹“Files”,其中放置了.chm文件。之后我使用Directory类获取当前目录:

        private void help_Click(object sender, EventArgs e)
        {
            path = Directory.GetCurrentDirectory();
            //izmjeniti htm naziv file
            System.Windows.Forms.Help.ShowHelp(this, "file://" + path + "\\Files\\Administration.chm", "DodavanjeKorisnika.htm");
        }

完成此部分之后,我将chm文件添加到Folder目录中,在VS中我单击chm文件,然后选择:Build Action“Content”和Copy to Output Directory:“Copy always”。 Add CHM into project - installation directory

基本上这应该适用于所有人,因为在使用One Click Deploy部署应用程序时,它将使用chm文件创建/复制文件夹结构,加上使用方法获取当前目录并将其与该文件夹和文件连接,您提供必要的路径这个档案......

干杯:)