我有一个应用程序可以安装另外两个具有“帮助”选项的应用程序。这些应用程序中的每一个都有一个公共帮助文件,但应根据“目录”中为应用程序选择的索引显示内容。如果我打开一个应用程序,则应显示该特定应用程序的帮助。
对于Appl1,我的代码看起来像这样。
private void Help_Click(Core.CommandBarButton Ctrl, ref bool CancelDefault)
{
if (System.IO.File.Exists(new PlugInConstants().HELP_FILE_Path))
{
System.Windows.Forms.Help.ShowHelp(new System.Windows.Forms.Control(),
new PlugInConstants().HELP_FILE_Path,
System.Windows.Forms.HelpNavigator.TableOfContents, "Appl1");
}
else
{
System.Windows.Forms.MessageBox.Show(m_objLanguage.ERR_HELP_NOT_FOUND.Replace
("%1", m_objGlobalConfig.HelpFilename));
}
CancelDefault = false;
}
对于Appl2来说,看起来像这样
private void HelpToolStripMenuItem_Click(object sender, EventArgs e)
{
helpToolStripMenuItem.Enabled = false;
string helpFilePath;
helpFilePath = new TrayConstants().HELP_FILE_Path;
if (System.IO.File.Exists(helpFilePath))
{
System.Windows.Forms.Help.ShowHelp(new System.Windows.Forms.Control(),
helpFilePath, System.Windows.Forms.HelpNavigator.TableOfContents, "Appl2") ;
}
else
{
if (m_helpPage == null)
m_helpPage = new HelpPage();
m_helpPage.ShowDialog();
}
helpToolStripMenuItem.Enabled = true;
}
从这里我只能看到常见帮助文件的内容页面,但不能看到所选的特定应用程序帮助。
现在我确实运行了Appl1但仍然可以看到自动选择的主MyApp
但不是Appl1
以及显示在右边的内容。
我正在使用VS 2010,C#,赢取表格 提前谢谢
答案 0 :(得分:0)
我认为您的问题是您在HelpNavigator枚举中访问了错误的值。看起来它应该是Topic,而不是TableOfContents。
System.Windows.Forms.Help.ShowHelp(new System.Windows.Forms.Control(),
helpFilePath, System.Windows.Forms.HelpNavigator.Topic, "Appl2") ;
http://msdn.microsoft.com/en-us/library/system.windows.forms.helpnavigator.aspx