IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[C#] lancer fichier .chm


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Par défaut [C#] lancer fichier .chm
    bonjour

    J'ai un fichier d'aide html compilé (.chm) que j'aimerais lancer quand je clique sur le menu Aide dans mon prog principal. Seulement, je n'arrive pas à le lancer car je ne sais pas où le mettre - dans le dossier Resources/ mais apres le manager de ressources ne le gère pas, il l'interprète comme un tableau de bytes. J'ai essayé de le mettre directement dans le projet au même niveau que les fichiers de code source. Là encore, je ne sais pas comment aller le chercher (quel est le chemin). Car je veux un chemin relatif au répertoire de l'installation ou quelque chose du genre de Open(Properties.Resources.help.chm). Quelqu'un pourrait-il me dire où placer mon fichier .chm, comment aller le chercher pour l'exécuter, et, s'il le faut, comment l'inclure dans le setup pour qu'il soit distribué.

    merci d'avance à toute personne qui répondra à cette longue question.

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Place le dans le répertoire avec ton exécutable et après, tu le lances avec un Process.Start("monfichier.chm");


    A+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2003
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 59
    Par défaut Ou encore...
    Tu peux inclure ton fichier CHM à la racine de ton application dans le projet de déploiement. Puis tu peux l'ouvrir en utilisant la classe Help avec le chemin relatif du fichier.

    En effet, il y a un objet spécifique en .NET pour afficher un fichier d'aide d'une façon donnée :

    Pour afficher le contenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Help.ShowHelp(this, GetHelpFile(), HelpNavigator.TableOfContents);
    (ici this est une winform)

    Pour afficher l'index :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Help.ShowHelpIndex(this, GetHelpFile());
    Pour une recherche sur un mot clé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Help.ShowHelp(this, GetHelpFile(), HelpNavigator.Find, "motCle");
    Dons mon cas, GetHelpFile() renvoie le chemin relatif (ou absolu) du fichier d'aide, par exemple "fichierAide.chm".
    Cf. doc sur classe Help.
    @ +

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Par défaut
    merci je suis sûr que je suis sur la bonne voie Mais j'ai encore un problème : quand tu dit de mettre mon fichier chm à la racine de mon projet de déploiement, je suis pas sûr c'est où. Pour l'instant, mon fichier chm est dans MonProg\help.chm

    et mon exécutable est dans
    MonProg\bin\Debug\prog.exe

    alors, lorsque j'ai un chemin relatif, il commence à mon exe et donc je ne sais pas comment reculer jusqu'à mon fichier d'aide. De toute façon, dans mon projet de déploiement, tout est sur un étage de telle sorte que le chemin relatif de l'exe - 9 caractères (pour reculer assez loin, vous n'avez qu'à compter) ne marche plus pour trouver mon fichier d'aide. Cette technique fonctionne pour le débuggage, mais pas une fois le projet compilé et déployé sur une autre machine. Je chercherais donc un moyen d'avoir un chemin sûr dans les 2 cas. En tout cas, je vais essayer de mettre mon .chm dans le même répertoire que mon exe et je vous rapporterai le résultat. Entre-temps, si quelqu'un connaîtrait une autre façon de s'y prendre, qu'il me le fasse savoir svp.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Par défaut
    ok j'ai réussi de cette façon seulement j'ai deux autres questions :

    1. Assez facile sûrement, je voudrais que la fenêtre de l'aide apparaisse maximisée et non toute petite comme elle est;

    2. Toute ma table des matières est là, mais lorsque je clique sur une page de celle-ci, elle ne s'affiche pas à côté comme elle est supposée. Est-ce que je dois gérer manuellement les click sur chaque item de la table des matières afin de montrer la page correspondante ? Sûrement pas...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2003
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 59
    Par défaut
    Citation Envoyé par damned3
    ok j'ai réussi de cette façon seulement j'ai deux autres questions :

    1. Assez facile sûrement, je voudrais que la fenêtre de l'aide apparaisse maximisée et non toute petite comme elle est;

    2. Toute ma table des matières est là, mais lorsque je clique sur une page de celle-ci, elle ne s'affiche pas à côté comme elle est supposée. Est-ce que je dois gérer manuellement les click sur chaque item de la table des matières afin de montrer la page correspondante ? Sûrement pas...
    Là j'ai pas d'idée. Mais à mon avis, le point 2 vient plutôt d'un problème dans le chm... Et je ne sais pas quel outil tu as utilisé pour le faire...

  7. #7
    Membre expérimenté Avatar de toniolol
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2005
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 281
    Par défaut
    Citation Envoyé par jyl2002
    Pour une recherche sur un mot clé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Help.ShowHelp(this, GetHelpFile(), HelpNavigator.Find, "motCle");
    Salut,
    une petite question sur ce code, d'où provient le string "motCle" ?
    Est-il possible de lacer l'aide (via F1) et de "tomber" à un endroit particulier de cette dernière en fonction du contrôle où l'on se trouve ?

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Août 2003
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 59
    Par défaut
    Citation Envoyé par toniolol
    Salut,
    une petite question sur ce code, d'où provient le string "motCle" ?
    Est-il possible de lacer l'aide (via F1) et de "tomber" à un endroit particulier de cette dernière en fonction du contrôle où l'on se trouve ?
    Bien sûr !
    Pour ça il faut utiliser l'objet "HellpProvider", par exemple via drag and drop de la toolbox VS sur ta form.
    Extrait de MSDN :
    The Windows Forms HelpProvider component is used to associate an HTML Help 1.x Help file (either a .chm file, produced with the HTML Help Workshop, or an .htm file) with your Windows application. You can provide help in a variety of ways:

    - Provide context-sensitive Help for controls on Windows Forms.
    - Provide context-sensitive Help on a particular dialog box or specific controls on a dialog box.
    - Open a Help file to specific areas, such as the main page of a Table of Contents, the Index, or a search function.
    Je te laisse jeter un oeil sur MSDN pour voir comment l'utiliser .
    @ +

Discussions similaires

  1. Lancer un fichier .chm
    Par jderam dans le forum MFC
    Réponses: 3
    Dernier message: 26/06/2009, 14h05
  2. Lancer un fichier chm
    Par empire.dev dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 19/08/2008, 14h35
  3. pb pour associé un fichier chm avec un projet MFC
    Par Cédric_07 dans le forum MFC
    Réponses: 9
    Dernier message: 05/12/2006, 15h56
  4. Integrer un fichier CHM à une application
    Par iceman2001 dans le forum EDI
    Réponses: 7
    Dernier message: 30/11/2005, 14h49
  5. Doc PostgreSQL en fichier CHM
    Par Safaritn dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 18/05/2005, 10h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo