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 :

WebBrowser.ShowPrintPreviewDialog en TopMost


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien ES en informatique
    Inscrit en
    Août 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien ES en informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 30
    Points : 19
    Points
    19
    Par défaut WebBrowser.ShowPrintPreviewDialog en TopMost
    Bonjour à tous,

    Ma question un simple mais je crains que la réponse ne le soit moins.

    J'ai un WebBrowser dans une form TopMost. Quand je veux afficher le Print preview du WebBrowser, celui-ci n'est pas TopMost, je n'ai trouvé aucune propriété pour cela.

    Comment faire?


    J'explique mon problème plus en profondeur au cas ou il n'y a pas de solution à ma question ci-dessus.
    J'ai un DataGridView dont j'aimerais imprimer le contenu. Pour cela, je passe par une page HTML dans laquelle je fais ma mise en forme. Je remplis ma page HTML via du code, ensuite, je passe la page HTML au WebBrowser puis je veux la visualiser avant de l'imprimer.

    J'ai trouver une solution sans passer par une page HTML, en utilisant un PrintDocument et un PrintPreviewDialog mais dans ce cas, il n'est pas possible de modifier la mise en page sans recompiler, ce qui est dommage.

    Merci d'avance.

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    J'ai un WebBrowser dans une form TopMost. Quand je veux afficher le Print preview du WebBrowser, celui-ci n'est pas TopMost
    Je n'arrive pas à reproduire le problème dans une application WinForms et l'environnement de mon PC (vista/framework 3.5).

    Je n'ai donc pas pu tester la solution consistant à mettre la propriété TopMost de la form à false juste avant MyWeBbrowser.ShowPrintPreviewDialog (éventuellement faire "Application.DoEvents()" après avoir mis TopMost à false) et la remettre à true juste après.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  3. #3
    Membre à l'essai
    Homme Profil pro
    Technicien ES en informatique
    Inscrit en
    Août 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien ES en informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    J'ai testé ta solution (que j'avais déjà essayé précédemment) et le résultat est étrange : Ma form est toujours top most et le PreviewDialog ne l'est pas.
    Je comprends pas trop.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Technicien ES en informatique
    Inscrit en
    Août 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien ES en informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Personne ne peut me répondre?

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    665
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 665
    Points : 1 161
    Points
    1 161
    Par défaut
    Bonjour,
    difficile de répondre sans un petit bout de code.
    1) Appliquez vous la méthode ShowPrintPreviewDialog de votre WebBrowser?
    2) Utilisez vous le contrôle-formulaire-boîte de dialogue PrintPreviewDialog, qui lui expose deux méthode Show et ShowDialog?

    1) et 2 avec ShowDialog) sont modales et devraient être au dessus normalement.

    2 avec Show) se cache derrière.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Technicien ES en informatique
    Inscrit en
    Août 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien ES en informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    J'utilise la méthode ShowPrintPreviewDialog du WebBrowser. Ceci donne une fenêtre non modal et non TopMost.

    Je ne vois pas comment utiliser un PrintPreviewDialog pour prévisualiser une page d'un WebBrowser. Si la solution existe, peut-être que cela va résoudre le problème.

    Au niveau du code, c'est pas très compliqué :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
      Private Sub ToolStripButtonPrint_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripButtonPrint.Click
        ' j'ai essayé le TopMost = False ici
        Me.Cursor = Cursors.WaitCursor
        WebBrowser = New WebBrowser
        WebBrowser.Bounds = New Rectangle(0, 0, 0, 0)
        WebBrowser.Parent = Me.ParentForm
        WebBrowser.Hide()
        WebBrowser.DocumentText = ListToHtml()
        Me.Cursor = Cursors.Default
      End Sub
     
      Private Sub WebBrowser_DocumentCompleted(sender As Object, e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser.DocumentCompleted
        ' et la, avec le même resultat
        WebBrowser.ShowPrintPreviewDialog()
      End Sub

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    665
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 665
    Points : 1 161
    Points
    1 161
    Par défaut
    Bonsoir,
    essayez ceci et dites nous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
        Friend WithEvents WebBrowser As System.Windows.Forms.WebBrowser
        Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
            Me.Cursor = Cursors.WaitCursor
            WebBrowser = New WebBrowser
            WebBrowser.Bounds = New Rectangle(800, 300, 200, 200)
            Me.Controls.Add(WebBrowser)
            'WebBrowser.Parent = Me.ParentForm
            'WebBrowser.Hide()
            WebBrowser.DocumentText = ListToHtml()
            Me.Cursor = Cursors.Default
        End Sub
     
        Private Sub WebBrowser_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser.DocumentCompleted
            WebBrowser.ShowPrintPreviewDialog()
        End Sub

  8. #8
    Membre à l'essai
    Homme Profil pro
    Technicien ES en informatique
    Inscrit en
    Août 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien ES en informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Parfait!

    Merci beaucoup, ça marche en enlevant juste le Hide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MFC] Webbrowser et Pop Up
    Par TheOkko dans le forum MFC
    Réponses: 2
    Dernier message: 01/04/2004, 16h23
  2. Attendre la fin du chargement de la page dans un WebBrowser
    Par core1 dans le forum Web & réseau
    Réponses: 5
    Dernier message: 15/06/2003, 04h12
  3. Empécher la sélection du texte des pages dans un WebBrowser
    Par DevelOpeR13 dans le forum Web & réseau
    Réponses: 2
    Dernier message: 05/06/2003, 18h36
  4. Webbrowser : Comment ne pas prendre la page en cache
    Par cedm78 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 30/08/2002, 11h17
  5. Détections avec WebBrowser
    Par Wazo_Sportive dans le forum Composants VCL
    Réponses: 4
    Dernier message: 11/08/2002, 19h32

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