Csharp/C Sharp/GUI Windows Form/PageSetupDialog

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

Use PageSetupDialog

<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>