代码之家  ›  专栏  ›  技术社区  ›  Seth Spearman

无法让.NET WinForms应用程序打开CHM文件中的帮助主题

  •  3
  • Seth Spearman  · 技术社区  · 15 年前

    我有一个vb.net WinForms应用程序。我还有一个使用Robohelp6.0创建的编译帮助文件(chm)。

    我想打开一个特定的帮助主题,因此我使用以下代码。

    system.windows.forms.help.showhelp(me,“myhelpfile.chm”,helpnavigator.keywordIndex,“mytopic”)。

    当然,我使用的是变量而不是字符串文本…在这里和我一起工作;/)

    在这种情况下,帮助文件在左窗格中打开到索引,并在索引窗格中选择主题,但右(内容)窗格显示帮助文件的主/首页…而不是我的主题。

    我尝试过helpnavigator枚举中的每一种组合,但都不起作用。其中只有一小部分是可以工作的,因为它们中的大多数并不是为特定的主题而设计的……但是对于那些应该在这里工作的人来说,这就是结果。

    主题-当我使用这个选项时,左窗格打开到目录,所有内容都折叠了,没有选择任何内容。右窗格给出一个标准IE错误:

    "This program cannot display the webpage 
    
       Most likely causes:
    You are not connected to the Internet. 
    The website is encountering problems. 
    There might be a typing error in the address. 
    
       What you can try: 
         Check your Internet connection. Try visiting another website to make sure you are connected.  
    
         Retype the address.  
    
         Go back to the previous page. 
    
         More information "
    

    helpnavigator.topicid-我无法尝试,因为据我所知,我的主题没有主题ID。

    这是我的问题-

    有什么问题吗?如何解决帮助文件问题?(例如,验证帮助文件中是否存在该主题?我确信它在源代码中,但在编译版本中似乎找不到它。如果双击索引或目录中的主题,它将打开,只是很好。)

    我的理想解决方案是在选中主题的左窗格中打开TOC(但我将在左窗格中设置索引int),右窗格显示主题内容。

    塞思

    2 回复  |  直到 11 年前
        1
  •  0
  •   Seth Spearman    11 年前

    下面的链接有解释--

    http://www.cmcandrew.com/robocolumn/the-perils-of-context-sensitive-help/

    您必须添加一个映射ID并将其别名为主题。

    塞思

        2
  •  0
  •   Rick Strahl    11 年前

    问题是权限之一。

    如果帮助文件是从Web下载的,或者来自从Web下载的zip文件,则该文件将被阻止,并以您描述的行为显示:内容窗格显示错误。

    要解决此问题,请转到资源管理器右键单击chm文件,然后单击对话框右下角的“取消阻止”选项。

    要正确解决此问题,您需要确保安装chm文件是安装过程的一部分,安装过程告诉Windows该文件是安全的。避免从Internet下载内容的zip文件直接安装到文件夹中。

    详细信息如下:

    http://weblog.west-wind.com/posts/2012/Jan/11/Problems-with-opening-CHM-Help-files-from-Network-or-Internet

    推荐文章