Csharp/C Sharp by API/System.Windows.Forms/PageSetupDialog

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

PageSetupDialog.PageSettings

<source lang="csharp"> using System; using System.Collections.Generic; using System.ruponentModel; 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) {
       try {
           PageSetupDialog psDlg = new PageSetupDialog();
           if (this.storedPageSettings == null)
               this.storedPageSettings = new PageSettings();
           psDlg.PageSettings = this.storedPageSettings;
           psDlg.ShowDialog();
       } catch (Exception ex) {
           MessageBox.Show(ex.Message);
       }
   }
   protected void PrintPageEventHandler(Object obj, PrintPageEventArgs ev) {
       Graphics g = ev.Graphics;
       PaintDocument(g);
       ev.HasMorePages = false;
   }
   private void menuFilePrint_Click(object sender, EventArgs e) {
       try {
           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();
       } catch (Exception ex) {
           MessageBox.Show(ex.Message);
       }
   }
   private void printPreviewToolStripMenuItem_Click(object sender, EventArgs e) {
       try {
           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();
       } catch (Exception ex) {
           MessageBox.Show(ex.Message);
       }
   }
   private void InitializeComponent() {
       this.menuStrip1 = new System.Windows.Forms.MenuStrip();
       this.menuFilePrintPreview = new System.Windows.Forms.ToolStripMenuItem();
       this.menuFilePageSetup = new System.Windows.Forms.ToolStripMenuItem();
       this.printPreviewToolStripMenuItem = 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.menuFilePrintPreview});
       this.menuStrip1.Location = new System.Drawing.Point(0, 0);
       this.menuStrip1.Size = new System.Drawing.Size(292, 25);
       this.menuStrip1.Text = "menuStrip1";
       this.menuFilePrintPreview.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
           this.menuFilePageSetup,
           this.printPreviewToolStripMenuItem,
           this.menuFilePrint});
       this.menuFilePrintPreview.Name = "menuFilePrintPreview";
       this.menuFilePrintPreview.Text = "File";
       this.menuFilePageSetup.Name = "menuFilePageSetup";
       this.menuFilePageSetup.Text = "Page Setup";
       this.menuFilePageSetup.Click += new System.EventHandler(this.menuFilePageSetup_Click);
       this.printPreviewToolStripMenuItem.Name = "printPreviewToolStripMenuItem";
       this.printPreviewToolStripMenuItem.Text = "Print Preview";
       this.printPreviewToolStripMenuItem.Click += new System.EventHandler(this.printPreviewToolStripMenuItem_Click);
       this.menuFilePrint.Name = "menuFilePrint";
       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.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 menuFilePrintPreview;
   private System.Windows.Forms.ToolStripMenuItem menuFilePageSetup;
   private System.Windows.Forms.ToolStripMenuItem printPreviewToolStripMenuItem;
   private System.Windows.Forms.ToolStripMenuItem menuFilePrint;
   [STAThread]
   static void Main() {
       Application.EnableVisualStyles();
       Application.Run(new Form1());
   }

}

 </source>


PageSetupDialog.ShowDialog();

<source lang="csharp"> /* GDI+ Programming in C# and VB .NET by Nick Symmonds Publisher: Apress ISBN: 159059035X

  • /

using System; using System.Drawing; using System.Drawing.Text; using System.Drawing.Drawing2D; using System.Drawing.Printing; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; namespace UIPrint_c {

   public class UIPrint : System.Windows.Forms.Form
   {
   private PrintPreviewDialog Pv;
   private PageSetupDialog Ps;
   private PrintDocument Pd;
   private PrintDialog Pr;
   private System.Windows.Forms.MainMenu mainMenu1;
   private System.Windows.Forms.MenuItem mnuFile;
   private System.Windows.Forms.MenuItem mnuSetup;
   private System.Windows.Forms.MenuItem mnuPreview;
   private System.Windows.Forms.MenuItem mnuPrint;
   private System.Windows.Forms.Button cmdQuit;
       private System.ruponentModel.Container components = null;
       public UIPrint()
       {
           InitializeComponent();
             Pv = new PrintPreviewDialog();
             Ps = new PageSetupDialog();
             Pr = new PrintDialog();
             Pd = new PrintDocument();
       
             Pd.DocumentName = "My New Document";
             Pv.Document = Pd;
             Ps.Document = Pd;
             Pr.Document = Pd;
       }
       protected override void Dispose( bool disposing )
       {
           if( disposing )
           {
               if (components != null) 
               {
                   components.Dispose();
               }
           }
           base.Dispose( disposing );
       }
       #region Windows Form Designer generated code
       /// <summary>
       /// Required method for Designer support - do not modify
       /// the contents of this method with the code editor.
       /// </summary>
       private void InitializeComponent()
       {
     this.mainMenu1 = new System.Windows.Forms.MainMenu();
     this.mnuFile = new System.Windows.Forms.MenuItem();
     this.mnuSetup = new System.Windows.Forms.MenuItem();
     this.mnuPreview = new System.Windows.Forms.MenuItem();
     this.mnuPrint = new System.Windows.Forms.MenuItem();
     this.cmdQuit = new System.Windows.Forms.Button();
     this.SuspendLayout();
     // 
     // mainMenu1
     // 
     this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
                                                                             this.mnuFile});
     // 
     // mnuFile
     // 
     this.mnuFile.Index = 0;
     this.mnuFile.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
                                                                           this.mnuSetup,
                                                                           this.mnuPreview,
                                                                           this.mnuPrint});
     this.mnuFile.Text = "File";
     // 
     // mnuSetup
     // 
     this.mnuSetup.Index = 0;
     this.mnuSetup.Text = "Page Setup";
     this.mnuSetup.Click += new System.EventHandler(this.mnuSetup_Click);
     // 
     // mnuPreview
     // 
     this.mnuPreview.Index = 1;
     this.mnuPreview.Text = "Print Preview";
     this.mnuPreview.Click += new System.EventHandler(this.mnuPreview_Click);
     // 
     // mnuPrint
     // 
     this.mnuPrint.Index = 2;
     this.mnuPrint.Text = "Print";
     this.mnuPrint.Click += new System.EventHandler(this.mnuPrint_Click);
     // 
     // cmdQuit
     // 
     this.cmdQuit.Location = new System.Drawing.Point(256, 256);
     this.cmdQuit.Name = "cmdQuit";
     this.cmdQuit.Size = new System.Drawing.Size(64, 32);
     this.cmdQuit.TabIndex = 0;
     this.cmdQuit.Text = "Quit";
     this.cmdQuit.Click += new System.EventHandler(this.cmdQuit_Click);
     // 
     // UIPrint
     // 
     this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
     this.ClientSize = new System.Drawing.Size(342, 303);
     this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                 this.cmdQuit});
     this.MaximizeBox = false;
     this.Menu = this.mainMenu1;
     this.MinimizeBox = false;
     this.Name = "UIPrint";
     this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
     this.Text = "UIPrint";
     this.Load += new System.EventHandler(this.UIPrint_Load);
     this.ResumeLayout(false);
   }
       #endregion
       [STAThread]
       static void Main() 
       {
           Application.Run(new UIPrint());
       }
   private void UIPrint_Load(object sender, System.EventArgs e)
   {
     Pd.PrintPage += new PrintPageEventHandler(this.pd_Print);
   }
   protected override void OnPaint(PaintEventArgs e)
   {
     DrawIt(e.Graphics);
   }
   private void DrawIt(Graphics G)
   {
     G.SmoothingMode = SmoothingMode.AntiAlias;
     Pen P1 = new Pen(Brushes.Violet, 5);
     
     G.DrawString("Test of Print dialog and page setup",
                   new Font("Time New Roman", 16),
                   Brushes.Blue,
                   new Point(5, 5));
     G.DrawPie(P1, 10, 10, 150, 150, 28, 57);
     G.FillEllipse(Brushes.BurlyWood, 10, 200, this.Width-50, 50);
   }
   private void pd_Print(object sender, PrintPageEventArgs e)
   {
     DrawIt(e.Graphics);
   }
   private void mnuSetup_Click(object sender, System.EventArgs e)
   {
     Ps.ShowDialog();
     Pd.DefaultPageSettings = Ps.PageSettings;
     Pd.PrinterSettings = Ps.PrinterSettings;
   }
   private void mnuPreview_Click(object sender, System.EventArgs e)
   {
     Pv.WindowState = FormWindowState.Maximized;
     Pv.ShowDialog();
   }
   private void mnuPrint_Click(object sender, System.EventArgs e)
   {
     if (Pr.ShowDialog() == DialogResult.OK)
       Pd.Print();
   }
   private void cmdQuit_Click(object sender, System.EventArgs e)
   {
     this.Dispose();
   }
   }

}


 </source>