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#]Impression d'un Graphics


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 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 93
    Par défaut [C#]Impression d'un Graphics
    Bonsoir,
    Voilà mon problème:
    J'ai un winForm avec un RichTextBox, un bouton 'Imprimer' et un bouton 'Quitter'. J'arrive avec le code à écrire et à dessiner sur mon RichTextBox (appelé 'Page') via un objet Graphics mais lorsque je demande d'afficher le PrintPreviewDialog, il m'affiche une page blanche ?!!!
    Voici mon code:
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    namespace FormulairesGDI
    {
        public partial class Form1 : Form
        {
            PrintDocument myDocument;
            Graphics monGr;
     
            public Form1()
            {
                InitializeComponent();
                SetStyle(ControlStyles.AllPaintingInWmPaint, true);
                Invalidate();
            }
     
             private void Form1_Load(object sender, EventArgs e)
            {
                myDocument = new PrintDocument();
                myDocument.DefaultPageSettings.Margins.Top = 50;
                myDocument.DefaultPageSettings.Margins.Left = 50;
                myDocument.DefaultPageSettings.Margins.Right = 50;
                myDocument.DefaultPageSettings.Landscape = false;
                myDocument.DocumentName = Page.Text;
                myDocument.PrintPage += new PrintPageEventHandler(myDocument_PrintPage);
            }
     
            void myDocument_PrintPage(object sender, PrintPageEventArgs e)
            {
                monGr = Page.CreateGraphics();
                //Style et police avec lesquels on va écrire
                Font myFont = new Font("Arial",10);
                //Choix de la couleur
                Brush printColor = Brushes.Red ;
                //Ecriture
                monGr.DrawString("Impression avec .Net",myFont, printColor,10,10);
                monGr.DrawRectangle(Pens.Blue, 9, 9, 150, 150);
                monGr.Dispose();
            }
     
            private void btnQuitter_Click(object sender, EventArgs e)
            {
                Application.Exit();
            }
     
            private void btnImprimer_Click(object sender, EventArgs e)
            {
                printPreviewDialog1.Document = myDocument;
                printPreviewDialog1.ShowDialog();
            }
     
            private void Form1_Paint(object sender, PaintEventArgs e)
            {
                monGr = Page.CreateGraphics();
                //Style et police avec lesquels on va écrire
                Font myFont = new Font("Arial", 10);
                //Choix de la couleur
                Brush printColor = Brushes.Black;
                //Ecriture
                monGr.DrawString("Impression avec .Net", myFont, printColor, 10, 10);
                monGr.DrawRectangle(Pens.Blue, 9, 9, 150, 150);
                monGr.Dispose();
            }
         }
    }
    Quelqu'un pourrait-il m'éclairer ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    si tu remplaces dans la methode PrintPage

    monGr = Page.CreateGraphics(); par
    monGr = e.Graphics;

    beh, tu vas voir que ca va mieux marcher....

    The Monz, Toulouse

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 93
    Par défaut [Résolu]
    Merci, habitant de la ville rose ...
    C'était trop simple pour m'en aperçevoir tout de suite !

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

Discussions similaires

  1. Qualité d'impression sur Graphics
    Par Papy214 dans le forum Windows Forms
    Réponses: 9
    Dernier message: 02/09/2009, 15h59
  2. [CR][VB6] Impression d'un état depuis VB
    Par sda dans le forum SDK
    Réponses: 3
    Dernier message: 06/02/2007, 17h27
  3. Probleme d'impression avec la méthode TForm->Print()
    Par Kid Icarus dans le forum C++Builder
    Réponses: 13
    Dernier message: 31/07/2002, 14h26
  4. Impression d'image bmp
    Par Invité dans le forum Langage
    Réponses: 6
    Dernier message: 18/07/2002, 09h38
  5. Problème d'impression
    Par IngBen dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/05/2002, 11h37

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