Print PageSettings Metrics : Print PrintDocument : GUI Windows Forms C# Examples


C# Examples » GUI Windows Forms » Print PrintDocument »

 

Print PageSettings Metrics









    
using  System;
using  System.Collections.Generic;
using  System.ComponentModel;
using  System.Data;
using  System.Drawing;
using  System.Text;
using  System.Windows.Forms;
using  System.Drawing.Printing;


public  class  Form1  :  Form  {
        private  Font  mainTextFont  =  new  Font("Times  New  Roman",  14);
        private  Font  subTextFont  =  new  Font("Times  New  Roman",  12);
        private  PageSettings  storedPageSettings;

        public  Form1()  {
                InitializeComponent();
        }

        private  void  PaintDocument(Graphics  g)  {
                g.PageUnit  =  GraphicsUnit.Point;
                g.DrawString("Simple  Printing  Sample",
                                          this.mainTextFont,
                                          Brushes.Black,
                                          new  Rectangle(10,  20,  180,  30));
                g.DrawRectangle(Pens.Blue,
                                                new  Rectangle(new  Point(10,  100),  new  Size(100,  50)));
        }

        private  void  Form1_Paint(object  sender,  PaintEventArgs  e)  {
                Graphics  g  =  e.Graphics;
                PaintDocument(g);
        }

        private  void  menuFilePageSetup_Click(object  sender,  EventArgs  e)  {
                PageSetupDialog  psDlg  =  new  PageSetupDialog();
                if  (this.storedPageSettings  ==  null)
                        this.storedPageSettings  =  new  PageSettings();
                psDlg.PageSettings  =  this.storedPageSettings;
                psDlg.ShowDialog();

        }

        private  void  WriteMetricsToConsole(PrintPageEventArgs  ev)  {
                Graphics  g  =  ev.Graphics;
                Console.WriteLine("ev.PageSettings.PaperSize:  "  +  ev.PageSettings.PaperSize);
                Console.WriteLine("ev.PageSettings.PrinterResolution:  "  +  ev.PageSettings.PrinterResolution);
                Console.WriteLine("ev.PageSettings.PrinterSettings.LandscapeAngle:  "  +  ev.PageSettings.PrinterSettings.LandscapeAngle);
                Console.WriteLine("ev.PageSettings.Bounds:  "  +  ev.PageSettings.Bounds);
                Console.WriteLine("ev.PageBounds:  "  +  ev.PageBounds);
                Console.WriteLine("ev.PageSettings.Margins:  "  +  ev.PageSettings.Margins);
                Console.WriteLine("ev.MarginBounds:  "  +  ev.MarginBounds);
                Console.WriteLine("Horizontal  resolution:  "  +  g.DpiX);
                Console.WriteLine("Vertical  resolution:  "  +  g.DpiY);
                g.SetClip(ev.PageBounds);
                Console.WriteLine("g.VisibleClipBounds:  "  +  g.VisibleClipBounds);
                SizeF  drawingSurfaceSize  =  new  SizeF(  g.VisibleClipBounds.Width  *  g.DpiX  /  100,g.VisibleClipBounds.Height  *  g.DpiY  /  100);
                Console.WriteLine("Drawing  Surface  Size  in  Pixels:  "  +  drawingSurfaceSize);
        }

        protected  void  PrintPageEventHandler(Object  obj,  PrintPageEventArgs  ev)  {
                WriteMetricsToConsole(ev);
                Graphics  g  =  ev.Graphics;
                PaintDocument(g);
                ev.HasMorePages  =  false;
        }

        private  void  menuFilePrint_Click(object  sender,  EventArgs  e)  {
                PrintDocument  pd  =  new  PrintDocument();
                pd.PrintPage  +=  new  PrintPageEventHandler(this.PrintPageEventHandler);

                if  (this.storedPageSettings  !=  null)
                        pd.DefaultPageSettings  =  this.storedPageSettings;
                PrintDialog  dlg  =  new  PrintDialog();
                dlg.Document  =  pd;
                DialogResult  result  =  dlg.ShowDialog();
                if  (result  ==  System.Windows.Forms.DialogResult.OK)
                        pd.Print();
        }

        private  void  menuFilePrintPreview_Click(object  sender,  EventArgs  e)  {
                PrintDocument  pd  =  new  PrintDocument();
                pd.PrintPage  +=  new  PrintPageEventHandler(this.PrintPageEventHandler);

                if  (this.storedPageSettings  !=  null)
                        pd.DefaultPageSettings  =  this.storedPageSettings;
                PrintPreviewDialog  dlg  =  new  PrintPreviewDialog();
                dlg.Document  =  pd;
                dlg.ShowDialog();
        }
        private  void  InitializeComponent()  {
                this.menuStrip1  =  new  System.Windows.Forms.MenuStrip();
                this.fileToolStripMenuItem  =  new  System.Windows.Forms.ToolStripMenuItem();
                this.menuFilePageSetup  =  new  System.Windows.Forms.ToolStripMenuItem();
                this.menuFilePrintPreview  =  new  System.Windows.Forms.ToolStripMenuItem();
                this.menuFilePrint  =  new  System.Windows.Forms.ToolStripMenuItem();
                this.menuStrip1.SuspendLayout();
                this.SuspendLayout();
                this.menuStrip1.Items.AddRange(new  System.Windows.Forms.ToolStripItem[]  {
                        this.fileToolStripMenuItem});
                this.menuStrip1.Location  =  new  System.Drawing.Point(0,  0);
                this.menuStrip1.Size  =  new  System.Drawing.Size(292,  25);
                this.menuStrip1.Text  =  "menuStrip1";
                this.fileToolStripMenuItem.DropDownItems.AddRange(new  System.Windows.Forms.ToolStripItem[]  {
                        this.menuFilePageSetup,
                        this.menuFilePrintPreview,
                        this.menuFilePrint});
                this.fileToolStripMenuItem.Text  =  "File";
                this.menuFilePageSetup.Text  =  "Page  Setup";
                this.menuFilePageSetup.Click  +=  new  System.EventHandler(this.menuFilePageSetup_Click);
                this.menuFilePrintPreview.Text  =  "Print  Preview";
                this.menuFilePrintPreview.Click  +=  new  System.EventHandler(this.menuFilePrintPreview_Click);
                this.menuFilePrint.Text  =  "Print";
                this.menuFilePrint.Click  +=  new  System.EventHandler(this.menuFilePrint_Click);
                this.AutoScaleDimensions  =  new  System.Drawing.SizeF(8F,  16F);
                this.AutoScaleMode  =  System.Windows.Forms.AutoScaleMode.Font;
                this.BackColor  =  System.Drawing.SystemColors.Window;
                this.ClientSize  =  new  System.Drawing.Size(292,  268);
                this.Controls.Add(this.menuStrip1);
                this.MainMenuStrip  =  this.menuStrip1;
                this.Text  =  "SimplePrintingExample";
                this.Paint  +=  new  System.Windows.Forms.PaintEventHandler(this.Form1_Paint);
                this.menuStrip1.ResumeLayout(false);
                this.ResumeLayout(false);
                this.PerformLayout();
        }
        private  System.Windows.Forms.MenuStrip  menuStrip1;
        private  System.Windows.Forms.ToolStripMenuItem  fileToolStripMenuItem;
        private  System.Windows.Forms.ToolStripMenuItem  menuFilePageSetup;
        private  System.Windows.Forms.ToolStripMenuItem  menuFilePrintPreview;
        private  System.Windows.Forms.ToolStripMenuItem  menuFilePrint;
        [STAThread]
        static  void  Main()  {
                Application.Run(new  Form1());
        }
}
    
   
  
   




HTML code for linking to this page:

Follow Navioo On Twitter

C# Examples

 Navioo GUI Windows Forms
» Print PrintDocument