2009-10-30 5 views
3

J'ai une application WinForms vb.net. J'ai aussi un fichier de fichier d'aide compilé (chm) que j'ai créé en utilisant RoboHelp 6.0. Je veux ouvrir un sujet d'aide spécifique et pour ce faire, j'utilise le code suivant:Impossible d'obtenir l'application .NET winforms pour ouvrir un sujet d'aide dans un fichier CHM

System.Windows.Forms.Help.ShowHelp (Me, "MyHelpFile.chm", HelpNavigator.KeywordIndex, "MyTopic")

Bien sûr, je suis en utilisant la variable au lieu de littéraux de chaîne ... travailler avec moi ici ; /)

Dans ce cas, le fichier d'aide s'ouvre à l'index dans le volet gauche et la rubrique est sélectionnée dans le volet Index, mais le volet droit (Contenu) affiche la page principale/première du fichier d'aide ... pas mon sujet.

J'ai essayé toutes les combinaisons de l'énumération HelpNavigator et aucune d'elles ne fonctionne. Seuls quelques-uns d'entre eux devraient fonctionner puisque la plupart d'entre eux ne sont pas conçus pour s'ouvrir à un sujet spécifique ... mais pour ceux qui devraient fonctionner ici est le résultat.

HelpNavigator.Topic - Lorsque j'utilise cette option, le volet de gauche s'ouvre dans la table des matières avec tout ce qui est réduit et rien n'est sélectionné. Le volet de droite donne une erreur standard IE:

"This program cannot display the webpage 

    Most likely causes: 
You are not connected to the Internet. 
The website is encountering problems. 
There might be a typing error in the address. 

    What you can try: 
    Check your Internet connection. Try visiting another website to make sure you are connected. 

    Retype the address. 

    Go back to the previous page. 

    More information " 

HelpNavigator.TopicID - Je ne peux pas essayer, car pour autant que je peux dire à mes sujets n'ont pas sujet ID.

Voici mes questions -

Toutes les idées ce qui est faux? Comment puis-je résoudre les problèmes de fichiers d'aide? (Par exemple, valider que le sujet existe dans le fichier d'aide? Je suis sûr qu'il est dans la source mais il ne semble pas le trouver dans la version compilée.Si vous double-cliquez sur le sujet dans l'index ou TOC il ouvre juste La solution idéale serait d'ouvrir la table des matières dans le volet de gauche avec le sujet sélectionné (mais je me contenterai de l'index dans le volet gauche) et le volet droit affiche le contenu du sujet.

Seth

Répondre

0

Le lien suivant a le explanation--

http://www.cmcandrew.com/robocolumn/the-perils-of-context-sensitive-help/

Vous devez ajouter un identifiant de carte et alias il à un sujet.

Seth

+0

Le lien est mauvais. Le lien correct est maintenant http://www.cmcandrew.com/robocolumn/archives/22 –

+0

Maintenant que ce lien est mauvais ... voici le nouveau bon. http://www.cmcandrew.com/robocolumn/the-perils-of-context-sensitive-help/ –

+0

Broken à nouveau. C'est une bonne idée de copier le contenu pertinent directement dans la réponse. – DaveInCaz

0

Le problème est l'un des autorisations.

Si un fichier d'aide a été téléchargé à partir du Web ou provient d'un fichier Zip téléchargé sur le Web, le fichier sera bloqué et se manifestera par le comportement que vous décrivez: Le volet de contenu affiche une erreur. Pour corriger cela, allez dans l'Explorateur cliquez droit sur le fichier CHM, puis cliquez sur l'option Débloquer en bas à droite de la boîte de dialogue.

Pour résoudre ce problème correctement, vous devez vous assurer que vous installez le fichier CHM dans le cadre d'un processus d'installation qui indique à Windows que le fichier peut être utilisé en toute sécurité. Évitez l'installation directe à partir d'un fichier zip de contenu téléchargé sur Internet dans un dossier.

info détaillée:

http://weblog.west-wind.com/posts/2012/Jan/11/Problems-with-opening-CHM-Help-files-from-Network-or-Internet

Questions connexes