<?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%2FC_Sharp_by_API%2FSystem.Windows.Forms%2FPrintPreviewDialog</id>
		<title>Csharp/C Sharp by API/System.Windows.Forms/PrintPreviewDialog - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FC_Sharp_by_API%2FSystem.Windows.Forms%2FPrintPreviewDialog"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp_by_API/System.Windows.Forms/PrintPreviewDialog&amp;action=history"/>
		<updated>2026-04-30T13:44:37Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/C_Sharp_by_API/System.Windows.Forms/PrintPreviewDialog&amp;diff=4076&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp_by_API/System.Windows.Forms/PrintPreviewDialog&amp;diff=4076&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:35Z</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/C_Sharp_by_API/System.Windows.Forms/PrintPreviewDialog&amp;diff=4077&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp_by_API/System.Windows.Forms/PrintPreviewDialog&amp;diff=4077&amp;oldid=prev"/>
				<updated>2010-05-26T12:09:09Z</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;==PrintPreviewDialog.Document==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt; &lt;br /&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;
&lt;br /&gt;
public class Form1 : System.Windows.Forms.Form {&lt;br /&gt;
    private System.Windows.Forms.Button button1;&lt;br /&gt;
    private System.Windows.Forms.Button button2;&lt;br /&gt;
    &lt;br /&gt;
    private System.ruponentModel.Container components = null;&lt;br /&gt;
    private System.Drawing.Printing.PrintDocument ThePrintDocument = null;&lt;br /&gt;
    private System.IO.StringReader myStringReader = null;&lt;br /&gt;
    public Form1() {&lt;br /&gt;
        ThePrintDocument = new System.Drawing.Printing.PrintDocument();&lt;br /&gt;
        this.button1 = new System.Windows.Forms.Button();&lt;br /&gt;
        this.button2 = new System.Windows.Forms.Button();&lt;br /&gt;
        this.SuspendLayout();&lt;br /&gt;
        this.button1.Location = new System.Drawing.Point(112, 352);&lt;br /&gt;
        this.button1.Text = &amp;quot;&amp;amp;Preview&amp;quot;;&lt;br /&gt;
        this.button1.Click += new System.EventHandler(this.button1_Click);&lt;br /&gt;
        this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);&lt;br /&gt;
        this.ClientSize = new System.Drawing.Size(512, 397);&lt;br /&gt;
        this.Controls.AddRange(new System.Windows.Forms.Control[] { this.button1 });&lt;br /&gt;
        this.ResumeLayout(false);&lt;br /&gt;
    }&lt;br /&gt;
    [STAThread]&lt;br /&gt;
    static void Main() {&lt;br /&gt;
        Application.Run(new Form1());&lt;br /&gt;
    }&lt;br /&gt;
    protected void PrintPage(object sender,&lt;br /&gt;
        System.Drawing.Printing.PrintPageEventArgs ev) {&lt;br /&gt;
        float linesPerPage = 0;&lt;br /&gt;
        float yPosition = 0;&lt;br /&gt;
        int count = 0;&lt;br /&gt;
        float leftMargin = ev.MarginBounds.Left;&lt;br /&gt;
        float topMargin = ev.MarginBounds.Top;&lt;br /&gt;
        string line = null;&lt;br /&gt;
        Font printFont = this.Font;&lt;br /&gt;
        SolidBrush myBrush = new SolidBrush(Color.Black);&lt;br /&gt;
        linesPerPage = ev.MarginBounds.Height / printFont.GetHeight(ev.Graphics);&lt;br /&gt;
        while (count &amp;lt; linesPerPage &amp;amp;&amp;amp; ((line = myStringReader.ReadLine()) != null)) {&lt;br /&gt;
            yPosition = topMargin + (count * printFont.GetHeight(ev.Graphics));&lt;br /&gt;
            ev.Graphics.DrawString(line, printFont, myBrush, leftMargin, yPosition, new StringFormat());&lt;br /&gt;
            count++;&lt;br /&gt;
        }&lt;br /&gt;
        if (line != null)&lt;br /&gt;
            ev.HasMorePages = true;&lt;br /&gt;
        else&lt;br /&gt;
            ev.HasMorePages = false;&lt;br /&gt;
        myBrush.Dispose();&lt;br /&gt;
    }&lt;br /&gt;
    private void button1_Click(object sender, System.EventArgs e) {&lt;br /&gt;
        ThePrintDocument.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(PrintPage);&lt;br /&gt;
        string strText = &amp;quot;STRING&amp;quot;;&lt;br /&gt;
        myStringReader = new System.IO.StringReader(strText);&lt;br /&gt;
        PrintPreviewDialog printPreviewDialog1 = new PrintPreviewDialog();&lt;br /&gt;
        printPreviewDialog1.Document = this.ThePrintDocument;&lt;br /&gt;
        printPreviewDialog1.ShowDialog();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PrintPreviewDialog.ShowDialog==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt; &lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
using System.Drawing.Printing;&lt;br /&gt;
&lt;br /&gt;
public class Form1 : Form {&lt;br /&gt;
    private Font mainTextFont = new Font(&amp;quot;Times New Roman&amp;quot;, 14);&lt;br /&gt;
    private Font subTextFont = new Font(&amp;quot;Times New Roman&amp;quot;, 12);&lt;br /&gt;
    private PageSettings storedPageSettings;&lt;br /&gt;
    public Form1() {&lt;br /&gt;
        InitializeComponent();&lt;br /&gt;
    }&lt;br /&gt;
    private void PaintDocument(Graphics g) {&lt;br /&gt;
        g.PageUnit = GraphicsUnit.Point;&lt;br /&gt;
        g.DrawString(&amp;quot;Simple Printing Sample&amp;quot;,&lt;br /&gt;
                     this.mainTextFont,&lt;br /&gt;
                     Brushes.Black,&lt;br /&gt;
                     new Rectangle(10, 20, 180, 30));&lt;br /&gt;
        g.DrawRectangle(Pens.Blue,&lt;br /&gt;
                        new Rectangle(new Point(10, 100), new Size(100, 50)));&lt;br /&gt;
    }&lt;br /&gt;
    private void Form1_Paint(object sender, PaintEventArgs e) {&lt;br /&gt;
        Graphics g = e.Graphics;&lt;br /&gt;
        PaintDocument(g);&lt;br /&gt;
    }&lt;br /&gt;
    private void menuFilePageSetup_Click(object sender, EventArgs e) {&lt;br /&gt;
        PageSetupDialog psDlg = new PageSetupDialog();&lt;br /&gt;
        if (this.storedPageSettings == null)&lt;br /&gt;
            this.storedPageSettings = new PageSettings();&lt;br /&gt;
        psDlg.PageSettings = this.storedPageSettings;&lt;br /&gt;
        psDlg.ShowDialog();&lt;br /&gt;
    }&lt;br /&gt;
    private void WriteMetricsToConsole(PrintPageEventArgs ev) {&lt;br /&gt;
        Graphics g = ev.Graphics;&lt;br /&gt;
        Console.WriteLine(&amp;quot;ev.PageSettings.PaperSize: &amp;quot; + ev.PageSettings.PaperSize);&lt;br /&gt;
        Console.WriteLine(&amp;quot;ev.PageSettings.PrinterResolution: &amp;quot; + ev.PageSettings.PrinterResolution);&lt;br /&gt;
        Console.WriteLine(&amp;quot;ev.PageSettings.PrinterSettings.LandscapeAngle: &amp;quot; + ev.PageSettings.PrinterSettings.LandscapeAngle);&lt;br /&gt;
        Console.WriteLine(&amp;quot;ev.PageSettings.Bounds: &amp;quot; + ev.PageSettings.Bounds);&lt;br /&gt;
        Console.WriteLine(&amp;quot;ev.PageBounds: &amp;quot; + ev.PageBounds);&lt;br /&gt;
        Console.WriteLine(&amp;quot;ev.PageSettings.Margins: &amp;quot; + ev.PageSettings.Margins);&lt;br /&gt;
        Console.WriteLine(&amp;quot;ev.MarginBounds: &amp;quot; + ev.MarginBounds);&lt;br /&gt;
        Console.WriteLine(&amp;quot;Horizontal resolution: &amp;quot; + g.DpiX);&lt;br /&gt;
        Console.WriteLine(&amp;quot;Vertical resolution: &amp;quot; + g.DpiY);&lt;br /&gt;
        g.SetClip(ev.PageBounds);&lt;br /&gt;
        Console.WriteLine(&amp;quot;g.VisibleClipBounds: &amp;quot; + g.VisibleClipBounds);&lt;br /&gt;
        SizeF drawingSurfaceSize = new SizeF( g.VisibleClipBounds.Width * g.DpiX / 100,g.VisibleClipBounds.Height * g.DpiY / 100);&lt;br /&gt;
        Console.WriteLine(&amp;quot;Drawing Surface Size in Pixels: &amp;quot; + drawingSurfaceSize);&lt;br /&gt;
    }&lt;br /&gt;
    protected void PrintPageEventHandler(Object obj, PrintPageEventArgs ev) {&lt;br /&gt;
        WriteMetricsToConsole(ev);&lt;br /&gt;
        Graphics g = ev.Graphics;&lt;br /&gt;
        PaintDocument(g);&lt;br /&gt;
        ev.HasMorePages = false;&lt;br /&gt;
    }&lt;br /&gt;
    private void menuFilePrint_Click(object sender, EventArgs e) {&lt;br /&gt;
        PrintDocument pd = new PrintDocument();&lt;br /&gt;
        pd.PrintPage += new PrintPageEventHandler(this.PrintPageEventHandler);&lt;br /&gt;
        if (this.storedPageSettings != null)&lt;br /&gt;
            pd.DefaultPageSettings = this.storedPageSettings;&lt;br /&gt;
        PrintDialog dlg = new PrintDialog();&lt;br /&gt;
        dlg.Document = pd;&lt;br /&gt;
        DialogResult result = dlg.ShowDialog();&lt;br /&gt;
        if (result == System.Windows.Forms.DialogResult.OK)&lt;br /&gt;
            pd.Print();&lt;br /&gt;
    }&lt;br /&gt;
    private void menuFilePrintPreview_Click(object sender, EventArgs e) {&lt;br /&gt;
        PrintDocument pd = new PrintDocument();&lt;br /&gt;
        pd.PrintPage += new PrintPageEventHandler(this.PrintPageEventHandler);&lt;br /&gt;
        if (this.storedPageSettings != null)&lt;br /&gt;
            pd.DefaultPageSettings = this.storedPageSettings;&lt;br /&gt;
        PrintPreviewDialog dlg = new PrintPreviewDialog();&lt;br /&gt;
        dlg.Document = pd;&lt;br /&gt;
        dlg.ShowDialog();&lt;br /&gt;
    }&lt;br /&gt;
    private void InitializeComponent() {&lt;br /&gt;
        this.menuStrip1 = new System.Windows.Forms.MenuStrip();&lt;br /&gt;
        this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();&lt;br /&gt;
        this.menuFilePageSetup = new System.Windows.Forms.ToolStripMenuItem();&lt;br /&gt;
        this.menuFilePrintPreview = new System.Windows.Forms.ToolStripMenuItem();&lt;br /&gt;
        this.menuFilePrint = new System.Windows.Forms.ToolStripMenuItem();&lt;br /&gt;
        this.menuStrip1.SuspendLayout();&lt;br /&gt;
        this.SuspendLayout();&lt;br /&gt;
        this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {&lt;br /&gt;
            this.fileToolStripMenuItem});&lt;br /&gt;
        this.menuStrip1.Location = new System.Drawing.Point(0, 0);&lt;br /&gt;
        this.menuStrip1.Size = new System.Drawing.Size(292, 25);&lt;br /&gt;
        this.menuStrip1.Text = &amp;quot;menuStrip1&amp;quot;;&lt;br /&gt;
        this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {&lt;br /&gt;
            this.menuFilePageSetup,&lt;br /&gt;
            this.menuFilePrintPreview,&lt;br /&gt;
            this.menuFilePrint});&lt;br /&gt;
        this.fileToolStripMenuItem.Text = &amp;quot;File&amp;quot;;&lt;br /&gt;
        this.menuFilePageSetup.Text = &amp;quot;Page Setup&amp;quot;;&lt;br /&gt;
        this.menuFilePageSetup.Click += new System.EventHandler(this.menuFilePageSetup_Click);&lt;br /&gt;
        this.menuFilePrintPreview.Text = &amp;quot;Print Preview&amp;quot;;&lt;br /&gt;
        this.menuFilePrintPreview.Click += new System.EventHandler(this.menuFilePrintPreview_Click);&lt;br /&gt;
        this.menuFilePrint.Text = &amp;quot;Print&amp;quot;;&lt;br /&gt;
        this.menuFilePrint.Click += new System.EventHandler(this.menuFilePrint_Click);&lt;br /&gt;
        this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);&lt;br /&gt;
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;&lt;br /&gt;
        this.BackColor = System.Drawing.SystemColors.Window;&lt;br /&gt;
        this.ClientSize = new System.Drawing.Size(292, 268);&lt;br /&gt;
        this.Controls.Add(this.menuStrip1);&lt;br /&gt;
        this.MainMenuStrip = this.menuStrip1;&lt;br /&gt;
        this.Text = &amp;quot;SimplePrintingExample&amp;quot;;&lt;br /&gt;
        this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint);&lt;br /&gt;
        this.menuStrip1.ResumeLayout(false);&lt;br /&gt;
        this.ResumeLayout(false);&lt;br /&gt;
        this.PerformLayout();&lt;br /&gt;
    }&lt;br /&gt;
    private System.Windows.Forms.MenuStrip menuStrip1;&lt;br /&gt;
    private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;&lt;br /&gt;
    private System.Windows.Forms.ToolStripMenuItem menuFilePageSetup;&lt;br /&gt;
    private System.Windows.Forms.ToolStripMenuItem menuFilePrintPreview;&lt;br /&gt;
    private System.Windows.Forms.ToolStripMenuItem menuFilePrint;&lt;br /&gt;
    [STAThread]&lt;br /&gt;
    static void Main() {&lt;br /&gt;
        Application.Run(new Form1());&lt;br /&gt;
    }&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>