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

我的 WPF应用程序有一个CHM帮助文件.我的CHM文件包含我的应用程序的每个页面的“htm”文件.我想在用户按下该页面上的F1时打开相应页面的帮助文件.现在,我可以使用以下代码找到页面并打开该页面
Help.ShowHelp(this,helpfile,keywordText);

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

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

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

解决方法

看一下代码和小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,@"/Garden/flowers.htm");
}

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

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...