<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FGUI_Windows_Forms%2FPrint_Preview_Dialog</id>
		<title>Csharp/CSharp Tutorial/GUI Windows Forms/Print Preview Dialog - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FGUI_Windows_Forms%2FPrint_Preview_Dialog"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/GUI_Windows_Forms/Print_Preview_Dialog&amp;action=history"/>
		<updated>2026-04-30T02:31:46Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/GUI_Windows_Forms/Print_Preview_Dialog&amp;diff=5415&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/GUI_Windows_Forms/Print_Preview_Dialog&amp;diff=5415&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:53Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/GUI_Windows_Forms/Print_Preview_Dialog&amp;diff=5416&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/GUI_Windows_Forms/Print_Preview_Dialog&amp;diff=5416&amp;oldid=prev"/>
				<updated>2010-05-26T12:15:22Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Output the PrinterSettings information==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Drawing.Printing;&lt;br /&gt;
public class frmMain : System.Windows.Forms.Form {&lt;br /&gt;
    public frmMain() {&lt;br /&gt;
        this.Paint += new System.Windows.Forms.PaintEventHandler(this.frmMain_Paint);&lt;br /&gt;
    }&lt;br /&gt;
    [STAThread]&lt;br /&gt;
    static void Main() {&lt;br /&gt;
        Application.Run(new frmMain());&lt;br /&gt;
    }&lt;br /&gt;
    private void frmMain_Paint(object sender, System.Windows.Forms.PaintEventArgs e) {&lt;br /&gt;
        PrinterSettings pSettings = new PrinterSettings();&lt;br /&gt;
        Font printFont = new Font(&amp;quot;Arial&amp;quot;, 10);&lt;br /&gt;
        int nTextPosY = 0;&lt;br /&gt;
        int nTextPosX = 5;&lt;br /&gt;
        int nHeight = (int)printFont.GetHeight(e.Graphics);&lt;br /&gt;
        foreach (string sPtr in PrinterSettings.InstalledPrinters) {&lt;br /&gt;
            pSettings.PrinterName = &amp;quot;BadName&amp;quot;;&lt;br /&gt;
            e.Graphics.DrawString(sPtr, printFont, Brushes.Black, nTextPosX, nTextPosY + 5);&lt;br /&gt;
            e.Graphics.DrawString(&amp;quot;Can Duplex: &amp;quot; + pSettings.CanDuplex.ToString(),&lt;br /&gt;
                printFont, Brushes.Black, nTextPosX + 10, nTextPosY + (5 + nHeight));&lt;br /&gt;
            e.Graphics.DrawString(&amp;quot;Is Default: &amp;quot; + pSettings.IsDefaultPrinter.ToString(),&lt;br /&gt;
                printFont, Brushes.Black, nTextPosX + 10, nTextPosY + (5 + nHeight * 2));&lt;br /&gt;
            e.Graphics.DrawString(&amp;quot;Is Plotter: &amp;quot; + pSettings.IsPlotter.ToString(),&lt;br /&gt;
                printFont, Brushes.Black, nTextPosX + 10, nTextPosY + (5 + nHeight * 3));&lt;br /&gt;
            e.Graphics.DrawString(&amp;quot;Landscape Angle: &amp;quot; + pSettings.LandscapeAngle.ToString(),&lt;br /&gt;
                printFont, Brushes.Black, nTextPosX + 10, nTextPosY + (5 + nHeight * 4));&lt;br /&gt;
            e.Graphics.DrawString(&amp;quot;Maximum Copies: &amp;quot; + pSettings.MaximumCopies.ToString(),&lt;br /&gt;
                printFont, Brushes.Black, nTextPosX + 10, nTextPosY + (5 + nHeight * 5));&lt;br /&gt;
            e.Graphics.DrawString(&amp;quot;Maximum Page: &amp;quot; + pSettings.MaximumPage.ToString(),&lt;br /&gt;
                printFont, Brushes.Black, nTextPosX + 10, nTextPosY + (5 + nHeight * 6));&lt;br /&gt;
            e.Graphics.DrawString(&amp;quot;Minimum Page: &amp;quot; + pSettings.MinimumPage.ToString(),&lt;br /&gt;
                printFont, Brushes.Black, nTextPosX + 10, nTextPosY + (5 + nHeight * 7));&lt;br /&gt;
            e.Graphics.DrawString(&amp;quot;Supports Color: &amp;quot; + pSettings.SupportsColor.ToString(),&lt;br /&gt;
                printFont, Brushes.Black, nTextPosX + 10, nTextPosY + (5 + nHeight * 8));&lt;br /&gt;
            nTextPosY = nTextPosY + ((5 + nHeight * 8) + nHeight);&lt;br /&gt;
        }&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Print Preview Dialog for printing text file==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Drawing.Printing;&lt;br /&gt;
public class PrintPreviewDialog : System.Windows.Forms.Form&lt;br /&gt;
{&lt;br /&gt;
  private System.Windows.Forms.TextBox txtFile;&lt;br /&gt;
  private System.Windows.Forms.Button btnOpenFile;&lt;br /&gt;
  private System.Windows.Forms.Button btnSaveFile;&lt;br /&gt;
  private System.ruponentModel.Container components = null;&lt;br /&gt;
  private System.Windows.Forms.Button btnPageSetup;&lt;br /&gt;
  private System.Windows.Forms.Button btnPrint;&lt;br /&gt;
  private System.Windows.Forms.Button btnPrintPreview;  &lt;br /&gt;
  &lt;br /&gt;
  private String strFileName;&lt;br /&gt;
  private Font currentFont= Font;&lt;br /&gt;
  private PrintDocument printDocument = new PrintDocument();&lt;br /&gt;
  private StringReader stringReader;&lt;br /&gt;
  private OpenFileDialog openFileDialog = new OpenFileDialog();&lt;br /&gt;
  public PrintPreviewDialog()&lt;br /&gt;
  {&lt;br /&gt;
    InitializeComponent();&lt;br /&gt;
    &lt;br /&gt;
    printDocument.PrintPage += new PrintPageEventHandler(pdPrintPage);&lt;br /&gt;
    printDocument.BeginPrint += new PrintEventHandler(pdBeginPrint);&lt;br /&gt;
    printDocument.EndPrint += new PrintEventHandler(pdEndPrint);&lt;br /&gt;
  }&lt;br /&gt;
  private void InitializeComponent()&lt;br /&gt;
  {&lt;br /&gt;
    this.txtFile = new System.Windows.Forms.TextBox();&lt;br /&gt;
    this.btnOpenFile = new System.Windows.Forms.Button();&lt;br /&gt;
    this.btnSaveFile = new System.Windows.Forms.Button();&lt;br /&gt;
    this.btnPageSetup = new System.Windows.Forms.Button();&lt;br /&gt;
    this.btnPrint = new System.Windows.Forms.Button();&lt;br /&gt;
    this.btnPrintPreview = new System.Windows.Forms.Button();&lt;br /&gt;
    this.SuspendLayout();&lt;br /&gt;
    // &lt;br /&gt;
    // txtFile&lt;br /&gt;
    // &lt;br /&gt;
    this.txtFile.Anchor = (((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) &lt;br /&gt;
      | System.Windows.Forms.AnchorStyles.Left) &lt;br /&gt;
      | System.Windows.Forms.AnchorStyles.Right);&lt;br /&gt;
    this.txtFile.Location = new System.Drawing.Point(40, 24);&lt;br /&gt;
    this.txtFile.Multiline = true;&lt;br /&gt;
    this.txtFile.Name = &amp;quot;txtFile&amp;quot;;&lt;br /&gt;
    this.txtFile.Size = new System.Drawing.Size(500, 150);&lt;br /&gt;
    this.txtFile.TabIndex = 0;&lt;br /&gt;
    this.txtFile.Text = &amp;quot;&amp;quot;;&lt;br /&gt;
    // &lt;br /&gt;
    // btnOpenFile&lt;br /&gt;
    // &lt;br /&gt;
    this.btnOpenFile.Anchor = (System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left);&lt;br /&gt;
    this.btnOpenFile.Location = new System.Drawing.Point(48, 256);&lt;br /&gt;
    this.btnOpenFile.Name = &amp;quot;btnOpenFile&amp;quot;;&lt;br /&gt;
    this.btnOpenFile.TabIndex = 1;&lt;br /&gt;
    this.btnOpenFile.Text = &amp;quot;Open File&amp;quot;;&lt;br /&gt;
    this.btnOpenFile.Click += new System.EventHandler(this.btnOpenFile_Click);&lt;br /&gt;
    // &lt;br /&gt;
    // btnSaveFile&lt;br /&gt;
    // &lt;br /&gt;
    this.btnSaveFile.Anchor = (System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left);&lt;br /&gt;
    this.btnSaveFile.Location = new System.Drawing.Point(144, 256);&lt;br /&gt;
    this.btnSaveFile.Name = &amp;quot;btnSaveFile&amp;quot;;&lt;br /&gt;
    this.btnSaveFile.TabIndex = 2;&lt;br /&gt;
    this.btnSaveFile.Text = &amp;quot;Save File&amp;quot;;&lt;br /&gt;
    this.btnSaveFile.Click += new System.EventHandler(this.btnSaveFile_Click);&lt;br /&gt;
    // &lt;br /&gt;
    // btnPageSetup&lt;br /&gt;
    // &lt;br /&gt;
    this.btnPageSetup.Anchor = (System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left);&lt;br /&gt;
    this.btnPageSetup.Location = new System.Drawing.Point(240, 344);&lt;br /&gt;
    this.btnPageSetup.Name = &amp;quot;btnPageSetup&amp;quot;;&lt;br /&gt;
    this.btnPageSetup.TabIndex = 8;&lt;br /&gt;
    this.btnPageSetup.Text = &amp;quot;Page Setup&amp;quot;;&lt;br /&gt;
    this.btnPageSetup.Click += new System.EventHandler(this.btnPageSetup_Click);&lt;br /&gt;
    // &lt;br /&gt;
    // btnPrint&lt;br /&gt;
    // &lt;br /&gt;
    this.btnPrint.Anchor = (System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left);&lt;br /&gt;
    this.btnPrint.Location = new System.Drawing.Point(48, 344);&lt;br /&gt;
    this.btnPrint.Name = &amp;quot;btnPrint&amp;quot;;&lt;br /&gt;
    this.btnPrint.TabIndex = 6;&lt;br /&gt;
    this.btnPrint.Text = &amp;quot;Print&amp;quot;;&lt;br /&gt;
    this.btnPrint.Click += new System.EventHandler(this.btnPrint_Click);&lt;br /&gt;
    // &lt;br /&gt;
    // btnPrintPreview&lt;br /&gt;
    // &lt;br /&gt;
    this.btnPrintPreview.Anchor = (System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left);&lt;br /&gt;
    this.btnPrintPreview.Location = new System.Drawing.Point(144, 344);&lt;br /&gt;
    this.btnPrintPreview.Name = &amp;quot;btnPrintPreview&amp;quot;;&lt;br /&gt;
    this.btnPrintPreview.Size = new System.Drawing.Size(80, 23);&lt;br /&gt;
    this.btnPrintPreview.TabIndex = 7;&lt;br /&gt;
    this.btnPrintPreview.Text = &amp;quot;Print Preview&amp;quot;;&lt;br /&gt;
    this.btnPrintPreview.Click += new System.EventHandler(this.btnPrintPreview_Click);&lt;br /&gt;
    // &lt;br /&gt;
    // PrintPreviewDialog&lt;br /&gt;
    // &lt;br /&gt;
    this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);&lt;br /&gt;
    this.ClientSize = new System.Drawing.Size(592, 398);&lt;br /&gt;
    this.Controls.AddRange(new System.Windows.Forms.Control[] {&lt;br /&gt;
                                             this.btnPrintPreview,&lt;br /&gt;
                                             this.btnPrint,&lt;br /&gt;
                                             this.btnPageSetup,&lt;br /&gt;
                                             this.btnSaveFile,&lt;br /&gt;
                                             this.btnOpenFile,&lt;br /&gt;
                                             this.txtFile});&lt;br /&gt;
    this.ResumeLayout(false);&lt;br /&gt;
  }&lt;br /&gt;
  [STAThread]&lt;br /&gt;
  static void Main() &lt;br /&gt;
  {&lt;br /&gt;
    Application.Run(new PrintPreviewDialog());&lt;br /&gt;
  }&lt;br /&gt;
  private void btnOpenFile_Click(object sender, System.EventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    openFileDialog.InitialDirectory = @&amp;quot;c:\&amp;quot;;&lt;br /&gt;
    openFileDialog.Filter = &amp;quot;Text files (*.txt)|*.txt|&amp;quot; +&lt;br /&gt;
            &amp;quot;All files (*.*)|*.*&amp;quot;;&lt;br /&gt;
    openFileDialog.FilterIndex = 1;              //  1 based index&lt;br /&gt;
    &lt;br /&gt;
    if (openFileDialog.ShowDialog() == DialogResult.OK)&lt;br /&gt;
    {&lt;br /&gt;
      StreamReader reader = new StreamReader(openFileDialog.FileName);&lt;br /&gt;
      try&lt;br /&gt;
      {&lt;br /&gt;
        strFileName = openFileDialog.FileName;&lt;br /&gt;
        txtFile.Text = reader.ReadToEnd();&lt;br /&gt;
      }&lt;br /&gt;
      catch (Exception ex)&lt;br /&gt;
      {&lt;br /&gt;
        MessageBox.Show(ex.Message);&lt;br /&gt;
        return;&lt;br /&gt;
      }&lt;br /&gt;
      finally&lt;br /&gt;
      {&lt;br /&gt;
        reader.Close();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  private void btnSaveFile_Click(object sender, System.EventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    SaveFileDialog sfd = new SaveFileDialog();&lt;br /&gt;
    sfd.InitialDirectory = @&amp;quot;c:\&amp;quot;;&lt;br /&gt;
    sfd.Filter = &amp;quot;Text files (*.txt)|*.txt|&amp;quot; +&lt;br /&gt;
            &amp;quot;All files (*.*)|*.*&amp;quot;;&lt;br /&gt;
    sfd.FilterIndex = 1;              //  1 based index&lt;br /&gt;
    if (strFileName != null)&lt;br /&gt;
      sfd.FileName = strFileName;&lt;br /&gt;
    else&lt;br /&gt;
      sfd.FileName = &amp;quot;*.txt&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
    if (sfd.ShowDialog() == DialogResult.OK)&lt;br /&gt;
    {&lt;br /&gt;
      StreamWriter writer = new StreamWriter(strFileName,false);&lt;br /&gt;
      try&lt;br /&gt;
      {&lt;br /&gt;
        strFileName = sfd.FileName;&lt;br /&gt;
        writer.Write(txtFile.Text);&lt;br /&gt;
      }&lt;br /&gt;
      catch(Exception ex)&lt;br /&gt;
      {&lt;br /&gt;
        MessageBox.Show(ex.Message);&lt;br /&gt;
        return;&lt;br /&gt;
      }&lt;br /&gt;
      finally&lt;br /&gt;
      {&lt;br /&gt;
        writer.Close();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  private void btnPageSetup_Click(object sender, System.EventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    PageSetupDialog psd = new PageSetupDialog();&lt;br /&gt;
    psd.Document = printDocument;&lt;br /&gt;
    psd.ShowDialog();&lt;br /&gt;
  }&lt;br /&gt;
  private void btnPrint_Click(object sender, System.EventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    PrintDialog pdlg = new PrintDialog();&lt;br /&gt;
    pdlg.Document = printDocument;&lt;br /&gt;
    &lt;br /&gt;
    if (pdlg.ShowDialog() == DialogResult.OK)&lt;br /&gt;
    {&lt;br /&gt;
      try&lt;br /&gt;
      {&lt;br /&gt;
        printDocument.Print();&lt;br /&gt;
      }&lt;br /&gt;
      catch(Exception ex)&lt;br /&gt;
      {&lt;br /&gt;
        MessageBox.Show(&amp;quot;Print error: &amp;quot; + ex.Message);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  private void btnPrintPreview_Click(object sender, System.EventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    PrintPreviewDialog ppdlg = new PrintPreviewDialog();&lt;br /&gt;
    ppdlg.Document = printDocument;&lt;br /&gt;
    ppdlg.ShowDialog();&lt;br /&gt;
  }&lt;br /&gt;
  private void pdPrintPage(object sender, PrintPageEventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    float linesPerPage = 0;&lt;br /&gt;
    float verticalOffset = 0;&lt;br /&gt;
    float leftMargin = e.MarginBounds.Left;&lt;br /&gt;
    float topMargin = e.MarginBounds.Top;&lt;br /&gt;
    int linesPrinted = 0;&lt;br /&gt;
    String strLine = null;&lt;br /&gt;
    linesPerPage = e.MarginBounds.Height / currentFont.GetHeight(e.Graphics);&lt;br /&gt;
    &lt;br /&gt;
    while (linesPrinted &amp;lt; linesPerPage &amp;amp;&amp;amp;&lt;br /&gt;
        ((strLine = stringReader.ReadLine())!= null ))&lt;br /&gt;
    {&lt;br /&gt;
      verticalOffset = topMargin + (linesPrinted * currentFont.GetHeight(e.Graphics));&lt;br /&gt;
      e.Graphics.DrawString(strLine, currentFont, Brushes.Black, leftMargin, verticalOffset);&lt;br /&gt;
      linesPrinted++;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    if (strLine != null)&lt;br /&gt;
      e.HasMorePages = true;&lt;br /&gt;
    else&lt;br /&gt;
      e.HasMorePages = false;&lt;br /&gt;
      &lt;br /&gt;
  }&lt;br /&gt;
  private void pdBeginPrint(object sender, PrintEventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    stringReader = new StringReader(txtFile.Text);&lt;br /&gt;
    currentFont = txtFile.Font;&lt;br /&gt;
  }&lt;br /&gt;
  private void pdEndPrint(object sender, PrintEventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    stringReader.Close();&lt;br /&gt;
    MessageBox.Show(&amp;quot;Done printing.&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Show PrintPreview Dialog before print out a document==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;        &lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
using System.Data;&lt;br /&gt;
namespace PrintExample&lt;br /&gt;
{&lt;br /&gt;
  /// &amp;lt;summary&amp;gt;&lt;br /&gt;
  /// Summary description for PrintPreviewDialog.&lt;br /&gt;
  /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
  public class PrintPreviewDialog : System.Windows.Forms.Form&lt;br /&gt;
  {&lt;br /&gt;
    private System.Windows.Forms.MainMenu mainMenu1;&lt;br /&gt;
    private System.Windows.Forms.MenuItem menuItem1;&lt;br /&gt;
    private System.Drawing.Printing.PrintDocument printDocument1;&lt;br /&gt;
    private System.Windows.Forms.PrintPreviewDialog printPreviewDialog1;&lt;br /&gt;
    private System.Windows.Forms.PrintDialog printDialog1;&lt;br /&gt;
    private System.Windows.Forms.MenuItem menuItem2;&lt;br /&gt;
    private System.Windows.Forms.MenuItem menuItem3;&lt;br /&gt;
    private System.Windows.Forms.PageSetupDialog pageSetupDialog1;&lt;br /&gt;
    private System.Windows.Forms.MenuItem menuItem4;&lt;br /&gt;
    /// &amp;lt;summary&amp;gt;&lt;br /&gt;
    /// Required designer variable.&lt;br /&gt;
    /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
    private System.ruponentModel.Container components = null;&lt;br /&gt;
    public PrintPreviewDialog()&lt;br /&gt;
    {&lt;br /&gt;
      //&lt;br /&gt;
      // Required for Windows Form Designer support&lt;br /&gt;
      //&lt;br /&gt;
      InitializeComponent();&lt;br /&gt;
      //&lt;br /&gt;
      // TODO: Add any constructor code after InitializeComponent call&lt;br /&gt;
      //&lt;br /&gt;
    }&lt;br /&gt;
    /// &amp;lt;summary&amp;gt;&lt;br /&gt;
    /// Clean up any resources being used.&lt;br /&gt;
    /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
    protected override void Dispose( bool disposing )&lt;br /&gt;
    {&lt;br /&gt;
      if( disposing )&lt;br /&gt;
      {&lt;br /&gt;
        if (components != null) &lt;br /&gt;
        {&lt;br /&gt;
          components.Dispose();&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      base.Dispose( disposing );&lt;br /&gt;
    }&lt;br /&gt;
    #region Windows Form Designer generated code&lt;br /&gt;
    /// &amp;lt;summary&amp;gt;&lt;br /&gt;
    /// Required method for Designer support - do not modify&lt;br /&gt;
    /// the contents of this method with the code editor.&lt;br /&gt;
    /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
    private void InitializeComponent()&lt;br /&gt;
    {&lt;br /&gt;
      this.mainMenu1 = new System.Windows.Forms.MainMenu();&lt;br /&gt;
      this.menuItem1 = new System.Windows.Forms.MenuItem();&lt;br /&gt;
      this.menuItem2 = new System.Windows.Forms.MenuItem();&lt;br /&gt;
      this.menuItem3 = new System.Windows.Forms.MenuItem();&lt;br /&gt;
      this.printDocument1 = new System.Drawing.Printing.PrintDocument();&lt;br /&gt;
      this.printPreviewDialog1 = new System.Windows.Forms.PrintPreviewDialog();&lt;br /&gt;
      this.printDialog1 = new System.Windows.Forms.PrintDialog();&lt;br /&gt;
      this.pageSetupDialog1 = new System.Windows.Forms.PageSetupDialog();&lt;br /&gt;
      this.menuItem4 = new System.Windows.Forms.MenuItem();&lt;br /&gt;
      // &lt;br /&gt;
      // mainMenu1&lt;br /&gt;
      // &lt;br /&gt;
      this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {&lt;br /&gt;
                                            this.menuItem1});&lt;br /&gt;
      // &lt;br /&gt;
      // menuItem1&lt;br /&gt;
      // &lt;br /&gt;
      this.menuItem1.Index = 0;&lt;br /&gt;
      this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {&lt;br /&gt;
                                            this.menuItem4,&lt;br /&gt;
                                            this.menuItem2,&lt;br /&gt;
                                            this.menuItem3});&lt;br /&gt;
      this.menuItem1.Text = &amp;quot;File&amp;quot;;&lt;br /&gt;
      // &lt;br /&gt;
      // menuItem2&lt;br /&gt;
      // &lt;br /&gt;
      this.menuItem2.Index = 1;&lt;br /&gt;
      this.menuItem2.Text = &amp;quot;Print&amp;quot;;&lt;br /&gt;
      this.menuItem2.Click += new System.EventHandler(this.menuItem2_Click);&lt;br /&gt;
      // &lt;br /&gt;
      // menuItem3&lt;br /&gt;
      // &lt;br /&gt;
      this.menuItem3.Index = 2;&lt;br /&gt;
      this.menuItem3.Text = &amp;quot;Print preview&amp;quot;;&lt;br /&gt;
      this.menuItem3.Click += new System.EventHandler(this.menuItem3_Click);&lt;br /&gt;
      // &lt;br /&gt;
      // printDocument1&lt;br /&gt;
      // &lt;br /&gt;
      this.printDocument1.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(this.printDocument1_PrintPage);&lt;br /&gt;
      // &lt;br /&gt;
      // printPreviewDialog1&lt;br /&gt;
      // &lt;br /&gt;
      this.printPreviewDialog1.AutoScrollMargin = new System.Drawing.Size(0, 0);&lt;br /&gt;
      this.printPreviewDialog1.AutoScrollMinSize = new System.Drawing.Size(0, 0);&lt;br /&gt;
      this.printPreviewDialog1.ClientSize = new System.Drawing.Size(400, 300);&lt;br /&gt;
      this.printPreviewDialog1.Document = this.printDocument1;&lt;br /&gt;
      this.printPreviewDialog1.Enabled = true;&lt;br /&gt;
      this.printPreviewDialog1.Location = new System.Drawing.Point(272, 13);&lt;br /&gt;
      this.printPreviewDialog1.MaximumSize = new System.Drawing.Size(0, 0);&lt;br /&gt;
      this.printPreviewDialog1.Name = &amp;quot;printPreviewDialog1&amp;quot;;&lt;br /&gt;
      this.printPreviewDialog1.Opacity = 1;&lt;br /&gt;
      this.printPreviewDialog1.TransparencyKey = System.Drawing.Color.Empty;&lt;br /&gt;
      this.printPreviewDialog1.Visible = false;&lt;br /&gt;
      // &lt;br /&gt;
      // printDialog1&lt;br /&gt;
      // &lt;br /&gt;
      this.printDialog1.Document = this.printDocument1;&lt;br /&gt;
      // &lt;br /&gt;
      // pageSetupDialog1&lt;br /&gt;
      // &lt;br /&gt;
      this.pageSetupDialog1.Document = this.printDocument1;&lt;br /&gt;
      // &lt;br /&gt;
      // menuItem4&lt;br /&gt;
      // &lt;br /&gt;
      this.menuItem4.Index = 0;&lt;br /&gt;
      this.menuItem4.Text = &amp;quot;Page setup&amp;quot;;&lt;br /&gt;
      this.menuItem4.Click += new System.EventHandler(this.menuItem4_Click);&lt;br /&gt;
      // &lt;br /&gt;
      // PrintPreviewDialog&lt;br /&gt;
      // &lt;br /&gt;
      this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);&lt;br /&gt;
      this.ClientSize = new System.Drawing.Size(292, 266);&lt;br /&gt;
      this.Menu = this.mainMenu1;&lt;br /&gt;
      this.Name = &amp;quot;PrintPreviewDialog&amp;quot;;&lt;br /&gt;
      this.Text = &amp;quot;Print Example&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    #endregion&lt;br /&gt;
    /// &amp;lt;summary&amp;gt;&lt;br /&gt;
    /// The main entry point for the application.&lt;br /&gt;
    /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
    [STAThread]&lt;br /&gt;
    static void Main() &lt;br /&gt;
    {&lt;br /&gt;
      Application.Run(new PrintPreviewDialog());&lt;br /&gt;
    }&lt;br /&gt;
    private int currentPage;&lt;br /&gt;
    private void menuItem2_Click(object sender, System.EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
      if ( printDialog1.ShowDialog( this ) == DialogResult.OK )&lt;br /&gt;
      {&lt;br /&gt;
        currentPage = 1;&lt;br /&gt;
        printDocument1.Print();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    private void menuItem3_Click(object sender, System.EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
      currentPage = 1;&lt;br /&gt;
      printPreviewDialog1.ShowDialog( this );&lt;br /&gt;
    }&lt;br /&gt;
    private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
      e.Graphics.DrawString( &amp;quot;Page &amp;quot; + currentPage, new Font( &amp;quot;Times New Roman&amp;quot;, 15 ), &lt;br /&gt;
        Brushes.Black, e.MarginBounds.Left, e.MarginBounds.Top );&lt;br /&gt;
      currentPage++;&lt;br /&gt;
      if ( currentPage &amp;gt; 3 )&lt;br /&gt;
      {&lt;br /&gt;
        e.HasMorePages = false;&lt;br /&gt;
      }&lt;br /&gt;
      else&lt;br /&gt;
      {&lt;br /&gt;
        e.HasMorePages = true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    private void menuItem4_Click(object sender, System.EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
      pageSetupDialog1.ShowDialog( this );&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>