如何在 CHM 文件左侧的树视图中设置 Selected 项

Posted

技术标签:

【中文标题】如何在 CHM 文件左侧的树视图中设置 Selected 项【英文标题】:How to set the Selected item in the tree view on the Left side of CHM file 【发布时间】:2013-05-02 14:39:48 【问题描述】:

我的 WPF 应用程序有一个 CHM 帮助文件。我的 CHM 文件包含我的应用程序每个页面的“htm”文件。当用户在该页面上按 F1 时,我想打开相应页面的帮助文件。现在我可以使用以下代码找到该页面并打开该页面:

Help.ShowHelp(this, helpfile, keywordText);

其中keywordText 包含我所选页面的 htm 文件的 URL。

但问题是,左侧的面板(树视图中的内容选项卡)没有扩展到在右侧窗口中打开的页面。左侧的面板始终保持不变。

如何将左侧的树形视图展开到所选页面?

【问题讨论】:

【参考方案1】:

查看代码和小 GUI(附快照)。用户按钮单击后主题会刷新(例如帮助主题 1)。

请注意,使用 Microsoft htmlHelp Workshop 创建的帮助文件可能需要自动同步参数。

private void btnHelpTopic1_Click(object sender, EventArgs e)

    // sHTMLHelpFileName_ShowWithNavigationPane = "CHM-example_ShowWithNavigationPane.chm"
    // This is a HelpViewer Window with navigation pane for show case only 
    // created with Microsoft HTMLHelp Workshop
    helpProvider1.HelpNamespace = Application.StartupPath + @"\" + sHTMLHelpFileName_ShowWithNavigationPane;
    Help.ShowHelp(this, helpProvider1.HelpNamespace, @"/Garden/tree.htm");


private void btnHelpTopic2_Click(object sender, EventArgs e)

    helpProvider1.HelpNamespace = Application.StartupPath + @"\" + sHTMLHelpFileName_ShowWithNavigationPane;
    Help.ShowHelp(this, helpProvider1.HelpNamespace, @"/Garden/flowers.htm");

为了下载,我提供了一个 C#VS2008 Project,包括上面的代码和带有不同帮助查看器窗口的帮助文件(不同的 CHM 文件仅用于展示案例)。

【讨论】:

【参考方案2】:

谢谢。

问题出在 URL 中。

在此之前我给出了这样的网址

“Help.CHM::/html/MyHelp.htm”

当我从 URL 中删除“Help.CHM::/”时,一切正常......

【讨论】:

以上是关于如何在 CHM 文件左侧的树视图中设置 Selected 项的主要内容,如果未能解决你的问题,请参考以下文章

请问,CHM文件左侧目录乱码怎么解决?文件在别的电脑显示正常.

Windows中目录/文件夹的树视图? [关闭]

树视图中任何项目的 OnExpanded 事件

C# winform treeview 节点展开状态的图标设置

如何在带有标题视图和 UITableview 的自定义视图中正确设置 UISearchbar 的动画?

如何在指定节点 TOC (.NET) 上打开 CHM 文件