Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
.NET Framework 3.5
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.NET Framework Class Library
PrintPreviewControl Class

Updated: November 2007

Represents the raw preview part of print previewing from a Windows Forms application, without any dialog boxes or buttons. Most PrintPreviewControl objects are found on PrintPreviewDialog objects, but they do not have to be.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

Visual Basic (Declaration)
<ComVisibleAttribute(True)> _
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
Public Class PrintPreviewControl _
    Inherits Control
Visual Basic (Usage)
Dim instance As PrintPreviewControl
C#
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class PrintPreviewControl : Control
Visual C++
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)]
public ref class PrintPreviewControl : public Control
J#
/** @attribute ComVisibleAttribute(true) */
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */
public class PrintPreviewControl extends Control
JScript
public class PrintPreviewControl extends Control

When you create an instance of the PrintPreviewControl class, some of the read/write properties are set to initial values. For a list of these values, see the PrintPreviewControl constructor.

For more information about printing with Windows Forms, see the System.Drawing.Printing namespace overview. If you wish to print from a Windows Presentation Foundation application, see the System.Printing namespace.

The following code example demonstrates the Document, UseAntiAlias, and Zoom properties of the PrintPreviewControl. To run this example, place the following code in a form and call the InitializePrintPreviewControl method from the form’s constructor or Load event-handling method.

Visual Basic

'Declare the PrintPreviewControl object and the PrintDocument object.
Friend WithEvents PrintPreviewControl1 As PrintPreviewControl
Private WithEvents docToPrint As New Printing.PrintDocument

Private Sub InitializePrintPreviewControl()

    ' Construct the PrintPreviewControl.
    Me.PrintPreviewControl1 = New PrintPreviewControl

    ' Set location, name, and dock style for PrintPreviewControl1.
    Me.PrintPreviewControl1.Location = New Point(88, 80)
    Me.PrintPreviewControl1.Name = "PrintPreviewControl1"
    Me.PrintPreviewControl1.Dock = DockStyle.Fill

    ' Set the Document property to the PrintDocument 
    ' for which the PrintPage event has been handled.
    Me.PrintPreviewControl1.Document = docToPrint

    ' Set the zoom to 25 percent.
    Me.PrintPreviewControl1.Zoom = 0.25

    ' Set the document name. This will show be displayed when 
    ' the document is loading into the control.
    Me.PrintPreviewControl1.Document.DocumentName = "c:\someFile"

    ' Set the UseAntiAlias property to true so fonts are smoothed
    ' by the operating system.
    Me.PrintPreviewControl1.UseAntiAlias = True

    ' Add the control to the form.
    Me.Controls.Add(Me.PrintPreviewControl1)
End Sub

' The PrintPreviewControl will display the document
' by handling the documents PrintPage event
Private Sub docToPrint_PrintPage(ByVal sender As Object, _
   ByVal e As System.Drawing.Printing.PrintPageEventArgs) _
       Handles docToPrint.PrintPage

    ' Insert code to render the page here.
    ' This code will be called when the control is drawn.

    ' The following code will render a simple
    ' message on the document in the control.
    Dim text As String = "In docToPrint_PrintPage method."
    Dim printFont As New Font _
        ("Arial", 35, System.Drawing.FontStyle.Regular)

    e.Graphics.DrawString(text, printFont, _
        System.Drawing.Brushes.Black, 10, 10)
End Sub

C#
    // Declare the PrintPreviewControl object and the 
    // PrintDocument object.
    internal PrintPreviewControl PrintPreviewControl1;
    private System.Drawing.Printing.PrintDocument docToPrint = 
        new System.Drawing.Printing.PrintDocument();

    private void InitializePrintPreviewControl()
    {

        // Construct the PrintPreviewControl.
        this.PrintPreviewControl1 = new PrintPreviewControl();

        // Set location, name, and dock style for PrintPreviewControl1.
        this.PrintPreviewControl1.Location = new Point(88, 80);
        this.PrintPreviewControl1.Name = "PrintPreviewControl1";
        this.PrintPreviewControl1.Dock = DockStyle.Fill;

        // Set the Document property to the PrintDocument 
        // for which the PrintPage event has been handled.
        this.PrintPreviewControl1.Document = docToPrint;

        // Set the zoom to 25 percent.
        this.PrintPreviewControl1.Zoom = 0.25;

        // Set the document name. This will show be displayed when 
        // the document is loading into the control.
        this.PrintPreviewControl1.Document.DocumentName = "c:\\someFile";

        // Set the UseAntiAlias property to true so fonts are smoothed
        // by the operating system.
        this.PrintPreviewControl1.UseAntiAlias = true;

        // Add the control to the form.
        this.Controls.Add(this.PrintPreviewControl1);
        
        // Associate the event-handling method with the
        // document's PrintPage event.
        this.docToPrint.PrintPage += 
            new System.Drawing.Printing.PrintPageEventHandler(
            docToPrint_PrintPage);
    }

    // The PrintPreviewControl will display the document
    // by handling the documents PrintPage event
    private void docToPrint_PrintPage(
        object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {

        // Insert code to render the page here.
        // This code will be called when the control is drawn.

        // The following code will render a simple
        // message on the document in the control.
        string text = "In docToPrint_PrintPage method.";
        System.Drawing.Font printFont = 
            new Font("Arial", 35, FontStyle.Regular);

        e.Graphics.DrawString(text, printFont,
            Brushes.Black, 10, 10);
    }

Visual C++
internal:
   // Declare the PrintPreviewControl object and the 
   // PrintDocument object.
   PrintPreviewControl^ PrintPreviewControl1;

private:
   System::Drawing::Printing::PrintDocument^ docToPrint;
   void InitializePrintPreviewControl()
   {
      // Construct the PrintPreviewControl.
      this->PrintPreviewControl1 = gcnew PrintPreviewControl;

      // Set location, name, and dock style for PrintPreviewControl1.
      this->PrintPreviewControl1->Location = Point(88,80);
      this->PrintPreviewControl1->Name = "PrintPreviewControl1";
      this->PrintPreviewControl1->Dock = DockStyle::Fill;

      // Set the Document property to the PrintDocument 
      // for which the PrintPage event has been handled.
      this->PrintPreviewControl1->Document = docToPrint;

      // Set the zoom to 25 percent.
      this->PrintPreviewControl1->Zoom = 0.25;

      // Set the document name. This will show be displayed when 
      // the document is loading into the control.
      this->PrintPreviewControl1->Document->DocumentName = "c:\\someFile";

      // Set the UseAntiAlias property to true so fonts are smoothed
      // by the operating system.
      this->PrintPreviewControl1->UseAntiAlias = true;

      // Add the control to the form.
      this->Controls->Add( this->PrintPreviewControl1 );

      // Associate the event-handling method with the
      // document's PrintPage event.
      this->docToPrint->PrintPage += gcnew System::Drawing::Printing::PrintPageEventHandler( this, &Form1::docToPrint_PrintPage );
   }

   // The PrintPreviewControl will display the document
   // by handling the documents PrintPage event
   void docToPrint_PrintPage( Object^ /*sender*/, System::Drawing::Printing::PrintPageEventArgs^ e )
   {
      // Insert code to render the page here.
      // This code will be called when the control is drawn.
      // The following code will render a simple
      // message on the document in the control.
      String^ text = "In docToPrint_PrintPage method.";
      System::Drawing::Font^ printFont = gcnew System::Drawing::Font( "Arial",35,FontStyle::Regular );
      e->Graphics->DrawString( text, printFont, Brushes::Black, 10, 10 );
   }

J#
// Declare the PrintPreviewControl object and the 
// PrintDocument object.
PrintPreviewControl printPreviewControl1;
private System.Drawing.Printing.PrintDocument docToPrint =
    new System.Drawing.Printing.PrintDocument();

private void InitializePrintPreviewControl()
{
    // Construct the PrintPreviewControl.
    this.printPreviewControl1 = new PrintPreviewControl();
    // Set location, name, and dock style for PrintPreviewControl1.
    this.printPreviewControl1.set_Location(new Point(88, 80));
    this.printPreviewControl1.set_Name("PrintPreviewControl1");
    this.printPreviewControl1.set_Dock(DockStyle.Fill);
    // Set the Document property to the PrintDocument 
    // for which the PrintPage event has been handled.
    this.printPreviewControl1.set_Document(docToPrint);
    // Set the zoom to 25 percent.
    this.printPreviewControl1.set_Zoom(0.25);
    // Set the document name. This will show be displayed when 
    // the document is loading into the control.
    this.printPreviewControl1.get_Document().set_DocumentName("c:\\someFile");
    // Set the UseAntiAlias property to true so fonts are smoothed
    // by the operating system.
    this.printPreviewControl1.set_UseAntiAlias(true);
    // Add the control to the form.
    this.get_Controls().Add(this.printPreviewControl1);
    // Associate the event-handling method with the
    // document's PrintPage event.
    this.docToPrint.add_PrintPage(
        new System.Drawing.Printing.PrintPageEventHandler(
        docToPrint_PrintPage));
} //InitializePrintPreviewControl

// The PrintPreviewControl will display the document
// by handling the documents PrintPage event
private void docToPrint_PrintPage(Object sender,
    System.Drawing.Printing.PrintPageEventArgs e)
{
    // Insert code to render the page here.
    // This code will be called when the control is drawn.
    // The following code will render a simple
    // message on the document in the control.
    String text = "In docToPrint_PrintPage method.";
    System.Drawing.Font printFont = new Font("Arial", 35, FontStyle.Regular);

    e.get_Graphics().DrawString(text, printFont, Brushes.get_Black(), 10, 10);
} //docToPrint_PrintPage

System..::.Object
  System..::.MarshalByRefObject
    System.ComponentModel..::.Component
      System.Windows.Forms..::.Control
        System.Windows.Forms..::.PrintPreviewControl
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2008 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker