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

时间:2009-10-30 15:28:59

标签: .net winforms robohelp

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

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

System.Windows.Forms.Help.ShowHelp(Me,“MyHelpFile.chm”,HelpNavigator.KeywordIndex,“MyTopic”)

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

在这种情况下,帮助文件将打开左窗格中的索引,并在“索引”窗格中选择主题,但右侧(内容)窗格显示帮助文件的主/第一页...不是我的主题。

我尝试过HelpNavigator枚举中的所有组合,但都没有。只有少数人应该工作,因为他们中的大多数都不是为了打开一个特定的主题而设计的......但是对于那些应该在这里工作的是结果。

HelpNavigator.Topic - 当我使用此选项时,左窗格将打开TOC,所有内容都已折叠且未选中任何内容。右侧窗格提供标准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它只会打开细。)

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

赛斯

2 个答案:

答案 0 :(得分:0)

以下链接有解释 -

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

您必须添加地图ID并将其别名添加到主题。

赛斯

答案 1 :(得分:0)

问题是权限之一。

如果从Web下载了帮助文件或来自从Web下载的Zip文件,则会阻止该文件显示您描述的行为:内容窗格显示错误。

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

要正确解决此问题,您需要确保在安装过程中安装CHM文件,该过程告诉Windows该文件可以安全使用。避免从互联网下载内容的zip文件直接安装到文件夹中。

此处有更详细的信息:

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