Содержимое HelpFile не открывается

У меня есть приложения, которые устанавливают два других приложения, которые имеют опцию "Справка". Каждое из этих приложений имеет общий файл справки, но содержимое должно отображаться на основе индекса, выбранного для приложения в "Оглавлении". Если я открою одно приложение, должна отобразиться справка этого конкретного приложения.

Мой код выглядит так для 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#, выиграть формы заранее спасибо

1 ответ

Я считаю, что ваша проблема в том, что вы используете неправильное значение в перечислении HelpNavigator. Похоже, это должна быть тема, а не 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

Другие вопросы по тегам