none
Empêcher la fenêtre "génération d'aperçus" d'apparaître quand on affiche un PrintPreviewControl ? RRS feed

  • Question

  • Bonjour à tous/toutes,

    je travaille actuellement sur un mini-éditeur de texte et je voudrais savoir si quelqu'un saurait ou aurait une idée de comment faire pour empêcher la petite fenêtre("génération d'aperçus") de s'afficher quand je génère mon aperçu avant impression (à l'aide d'un PrintPreviewControl).

    C'est peut-être impossible à faire,  si tel est le cas, je pense alors qu'il faudrait redéfinir la méthode "OnPaint" du PrintPreviewControl, mais comment fait-on?



    Si quelqu'un sait ou a une idée de la démarche je lui en serais extrêmement reconnaissant.

    Pour information je suis sur Win7 et VS 2008 

    Merci d'avance à tous/toutes
    mercredi 24 février 2010 13:10

Réponses

Toutes les réponses

  • Bonjour,

    Définissez le controller d'impression standard dans votre PrintDocument :

    monPrintDocument.Controller = new StandardPrintController();
    


    Cordialement
    Gilles TOURREAU - MVP C# - Architecte .NET/Consultant/Formateur
    mercredi 24 février 2010 21:16
    Modérateur
  • Bonjour,

    Merci pour votre réponse mais j'avais déjà essayé et malheureusement ça ne fonctionne pas avec le PrintPreviewControl
    jeudi 25 février 2010 07:15

  • Je me rends compte que c'est difficilement possible de faire ce que je veux sans redéfinir OnPaint.

    Mais je ne m'y connais pas trop en GDI+ , quelqu'un aurait une piste sur la démarche à suivre pour redéfinir OnPaint?


    Merci d'avance à tous/toutes
    lundi 1 mars 2010 07:46
  • Bonjour,

    Pouvez-vous m'envoyer un petit projet qui reproduirait le problème sur gilles.tourreau@pos.fr ?
    Merci de mettre le lien de cette conversation dans le sujet de l'e-mail.

    Cordialement
    Gilles TOURREAU - MVP C# - Architecte .NET/Consultant/Formateur
    lundi 1 mars 2010 20:46
    Modérateur
  • Bonjour,

    J'ai bien reçu votre projet.
    Il impossible de supprimer cette boite de dialogue. En effet, même si vous definissez le contrôleur standard d'impression comme je vous l'ai proprosé, le composant PrintPreviewControl le change en PrintControllerWithStatusDialog.
    Vous pouvez redefinir la méthode OnPaint afin de changer ce comportement, mais vous devez réimplémenter en entier l'aperçu avant impression.

    Cordialement
    Gilles TOURREAU - MVP C# - Architecte .NET/Consultant/Formateur
    mercredi 3 mars 2010 21:41
    Modérateur
  • Bonjour,

    merci pour votre réponse et pour le temps que vous m'avez consacré.


    Juste une dernière question; je dois m'orienter vers GDI+ pour redéfinir la méthode OnPaint ? ( je n'ai aucune idée de comment m'y prendre)
    jeudi 4 mars 2010 07:30
  • ReBonjour à tous,

    pour ceux que ça intéresse j'ai fait des recherches sur le fonctionnement de OnPaint() et je suis tombé sur ça http://tewux.net/myprintpreview-cs/ , 

    c'est un exemple d'une classe héritant de PrintPreviewControl et entièrement redéfinie et elle a résolu mon problème.  
    jeudi 4 mars 2010 08:00
  • Bonjour,

     

    Je vous remercie pour le suivi de ce thread et pour avoir partagé votre solution.

     

    Cordialement,

    Alex


    Alex Petrescu - MSFT
    jeudi 4 mars 2010 14:53