【问题标题】:load chm help file at certain topic在某个主题加载 chm 帮助文件
【发布时间】:2014-03-27 15:05:27
【问题描述】:

我正在处理一些代码,但看不出问题所在。 我无法从项目中的资源加载嵌入式 chm 帮助文件,但在某些“远程”路径上它可以完美运行。

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

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

我做错了什么?

【问题讨论】:

    标签: c# forms load chm


    【解决方案1】:

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

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

    【讨论】:

    • 嗨,Alex 感谢您的反馈,因为我在 VS 中使用 oneclick 部署,而且我是初级开发人员,我不知道所有技巧。你能给我一个建议,用应用程序“运送” .chm 文件并在应用程序中包含路径的最佳方法是什么……你有这方面的例子,所以我可以研究一下吗?
    【解决方案2】:

    我找到了另一个适合我的解决方案,我希望与计划实施类似事情的其他人分享。首先,我创建了放置 .chm 文件的文件夹“Files”。之后我使用 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 文件添加到文件夹目录中,并在 VS 中单击 chm 文件,然后选择:构建操作“内容”并复制到输出目录:“始终复制”。

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

    干杯:)

    【讨论】:

      猜你喜欢
      • 2017-03-10
      • 1970-01-01
      • 1970-01-01
      • 2016-01-17
      • 2018-06-30
      • 1970-01-01
      • 2015-08-06
      • 1970-01-01
      相关资源
      最近更新 更多