7

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

Help.ShowHelp(this, helpfile, keywordText);

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

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

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

4

2 回答 2

3

看看代码和小 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 项目,包括上面的代码和具有不同帮助查看器窗口的帮助文件(不同的 CHM 文件仅用于展示案例)。

于 2013-05-08T18:56:40.160 回答
1

谢谢。

问题出在 URL 中。

在那之前我给了一个这样的网址

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

当我从 URL 中删除“Help.CHM::/”时,一切都运行良好..

于 2013-05-09T05:35:00.430 回答