Meilleur auteur de réponses
Fenêtre TopMost et Help

Question
-
Bonjour,
Dans une appli WinForm, quand une fenêtre TopMost fait appel à la classe Help :
Help.ShowHelp(Me, "adresse d'une page HTML")
la page est affichée dans le navigateur mais en-dessous de la fenêtre qui l'appelle ! Donc elle n'est pas ou peu visible...
Existe-il une solution simple pour sortir de ce schéma ?
Merci de vos suggestions.
Cordialement
Alain
- Modifié AchLog mercredi 3 juillet 2013 19:11
mercredi 3 juillet 2013 19:10
Réponses
-
Bonjour
J'ai bien réussi à reproduire votre problème, même que dans la doc c'est indiquée la fenêtre d'aide sera au-dessus des autres fenêtres.
La solution que je vois plus facile c'est de afficher le HTML d'aide dans un contrôle contenu dans la forme qui par default sera caché.
Cordialement,
- Marqué comme réponse Aurel Bera mardi 9 juillet 2013 07:12
jeudi 4 juillet 2013 12:05 -
Encore une fois, merci Aurel de votre réponse.
J'ai essayé une solution proche de celle que vous proposez, en m'inspirant de la solution au problème que nous avons réglé hier (affichage HTML dans WebBrowser) : j'ai créé une Form (TopMost) qui contient un WebBrowser que je charge avec les pages d'aide.
Private Sub Aide_Click(sender As System.Object, e As System.EventArgs) Handles Aide.Click Dim wBroser As New FormHelp If Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName = "fr" Then wBroser.wBrowser.DocumentText = My.Resources.Aide_Fr Else wBroser.wBrowser.DocumentText = My.Resources.Aide_Gb End If wBroser.ShowDialog() wBroser.Dispose() End Sub
Les deux principaux problèmes que je vois : il est assez difficile (long) d’insérer les images dans la page HTML avec Base64 et, aussi, la navigation n'est pas possible.
Merci encore
Bien cordialement
Alain
- Marqué comme réponse Aurel Bera mardi 9 juillet 2013 07:12
jeudi 4 juillet 2013 12:28
Toutes les réponses
-
Bonjour
J'ai bien réussi à reproduire votre problème, même que dans la doc c'est indiquée la fenêtre d'aide sera au-dessus des autres fenêtres.
La solution que je vois plus facile c'est de afficher le HTML d'aide dans un contrôle contenu dans la forme qui par default sera caché.
Cordialement,
- Marqué comme réponse Aurel Bera mardi 9 juillet 2013 07:12
jeudi 4 juillet 2013 12:05 -
Encore une fois, merci Aurel de votre réponse.
J'ai essayé une solution proche de celle que vous proposez, en m'inspirant de la solution au problème que nous avons réglé hier (affichage HTML dans WebBrowser) : j'ai créé une Form (TopMost) qui contient un WebBrowser que je charge avec les pages d'aide.
Private Sub Aide_Click(sender As System.Object, e As System.EventArgs) Handles Aide.Click Dim wBroser As New FormHelp If Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName = "fr" Then wBroser.wBrowser.DocumentText = My.Resources.Aide_Fr Else wBroser.wBrowser.DocumentText = My.Resources.Aide_Gb End If wBroser.ShowDialog() wBroser.Dispose() End Sub
Les deux principaux problèmes que je vois : il est assez difficile (long) d’insérer les images dans la page HTML avec Base64 et, aussi, la navigation n'est pas possible.
Merci encore
Bien cordialement
Alain
- Marqué comme réponse Aurel Bera mardi 9 juillet 2013 07:12
jeudi 4 juillet 2013 12:28 -
Bonjour
On a marqué les réponses.
Vous pouvez utiliser l'aide avec des fichiers HTML/ images contenues dans un répertoire de votre appli. Comme ça vous n’avez pas besoin d’insérer les images en format Base64 dans le fichier HTML et la navigation sera possible.Cordialement,
mardi 9 juillet 2013 07:15 -
Merci Aurel pour cette précision. Je vais faire comme cela.
Cordialement
Alain
dimanche 14 juillet 2013 17:36