PrintPreviewDialog 类

表示包含 PrintPreviewControl 的对话框窗体。

**命名空间:**System.Windows.Forms
**程序集:**System.Windows.Forms(在 system.windows.forms.dll 中)

语法

声明
<ComVisibleAttribute(True)> _
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
Public Class PrintPreviewDialog
    Inherits Form
用法
Dim instance As PrintPreviewDialog
[ComVisibleAttribute(true)] 
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] 
public class PrintPreviewDialog : Form
[ComVisibleAttribute(true)] 
[ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)] 
public ref class PrintPreviewDialog : public Form
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ 
public class PrintPreviewDialog extends Form
ComVisibleAttribute(true) 
ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) 
public class PrintPreviewDialog extends Form

备注

在创建 PrintPreviewDialog 类的实例时,一些读/写属性被设置为初始值。有关这些值的列表,请参见 PrintPreviewDialog 构造函数。

示例

下面的代码示例演示 PrintPreviewDialog 如何设置 DocumentUseAntiAlias 属性。该示例假定窗体包含一个名为 TreeView1TreeView,其中包含 TreeNode 对象。每个 TreeNode 对象的 Tag 属性必须设置为一个能被运行该示例的计算机访问的完全限定文档名。将每个 TreeNode.Text 属性设置为一个标识由 TreeNode.Tag 属性指定的文件的字符串。例如,可以将 TreeNode1.Tag 设置为“c:\myDocuments\recipe.doc”,将 TreeNode1.Text 设置为“recipe.doc”。该示例还假定窗体包含一个名为 PrintPreviewDialog1PrintPreviewDialog 和一个名为 Button1 的按钮。若要运行此示例,请调用位于该窗体的构造函数或 Load 事件处理程序中的 InitializePrintPreviewDialog 方法。

' Declare the dialog.
Friend WithEvents PrintPreviewDialog1 As PrintPreviewDialog

' Declare a PrintDocument object named document.
Private WithEvents document As New System.Drawing.Printing.PrintDocument

' Initalize the dialog.
Private Sub InitializePrintPreviewDialog()

    ' Create a new PrintPreviewDialog using constructor.
    Me.PrintPreviewDialog1 = New PrintPreviewDialog

    'Set the size, location, and name.
    Me.PrintPreviewDialog1.ClientSize = New System.Drawing.Size(400, 300)
    Me.PrintPreviewDialog1.Location = New System.Drawing.Point(29, 29)
    Me.PrintPreviewDialog1.Name = "PrintPreviewDialog1"

    ' Set the minimum size the dialog can be resized to.
    Me.PrintPreviewDialog1.MinimumSize = New System.Drawing.Size(375, 250)

    ' Set the UseAntiAlias property to true, which will allow the 
    ' operating system to smooth fonts.
    Me.PrintPreviewDialog1.UseAntiAlias = True
End Sub

Private Sub Button1_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles Button1.Click

    If Not (TreeView1.SelectedNode Is Nothing) Then

        ' Set the PrintDocument object's name to the selectedNode
        ' object's  tag, which in this case contains the 
        ' fully-qualified name of the document. This value will 
        ' show when the dialog reports progress.
        document.DocumentName = TreeView1.SelectedNode.Tag
    End If

    ' Set the PrintPreviewDialog.Document property to
    ' the PrintDocument object selected by the user.
    PrintPreviewDialog1.Document = document

    ' Call the ShowDialog method. This will trigger the document's
    '  PrintPage event.
    PrintPreviewDialog1.ShowDialog()
End Sub

Private Sub document_PrintPage(ByVal sender As Object, _
    ByVal e As System.Drawing.Printing.PrintPageEventArgs) _
        Handles document.PrintPage

    ' Insert code to render the page here.
    ' This code will be called when the PrintPreviewDialog.Show 
    ' method is called.

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

    e.Graphics.DrawString(text, printFont, _
        System.Drawing.Brushes.Black, 0, 0)

End Sub
// Declare the dialog.
internal PrintPreviewDialog PrintPreviewDialog1;

// Declare a PrintDocument object named document.
private System.Drawing.Printing.PrintDocument document =
    new System.Drawing.Printing.PrintDocument();

// Initalize the dialog.
private void InitializePrintPreviewDialog()
{

    // Create a new PrintPreviewDialog using constructor.
    this.PrintPreviewDialog1 = new PrintPreviewDialog();

    //Set the size, location, and name.
    this.PrintPreviewDialog1.ClientSize = 
        new System.Drawing.Size(400, 300);
    this.PrintPreviewDialog1.Location = 
        new System.Drawing.Point(29, 29);
    this.PrintPreviewDialog1.Name = "PrintPreviewDialog1";
    
    // Associate the event-handling method with the 
    // document's PrintPage event.
    this.document.PrintPage += 
        new System.Drawing.Printing.PrintPageEventHandler
        (document_PrintPage);

    // Set the minimum size the dialog can be resized to.
    this.PrintPreviewDialog1.MinimumSize = 
        new System.Drawing.Size(375, 250);

    // Set the UseAntiAlias property to true, which will allow the 
    // operating system to smooth fonts.
    this.PrintPreviewDialog1.UseAntiAlias = true;
}

private void Button1_Click(object sender, System.EventArgs e)
{

    if (TreeView1.SelectedNode != null)

        // Set the PrintDocument object's name to the selectedNode
        // object's  tag, which in this case contains the 
        // fully-qualified name of the document. This value will 
        // show when the dialog reports progress.
    {
        document.DocumentName = TreeView1.SelectedNode.Tag.ToString();
    }

    // Set the PrintPreviewDialog.Document property to
    // the PrintDocument object selected by the user.
    PrintPreviewDialog1.Document = document;

    // Call the ShowDialog method. This will trigger the document's
    //  PrintPage event.
    PrintPreviewDialog1.ShowDialog();
}

private void document_PrintPage(object sender, 
    System.Drawing.Printing.PrintPageEventArgs e)
{

    // Insert code to render the page here.
    // This code will be called when the PrintPreviewDialog.Show 
    // method is called.

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

    e.Graphics.DrawString(text, printFont, 
        System.Drawing.Brushes.Black, 0, 0);

}
   // Declare the dialog.
internal:
   PrintPreviewDialog^ PrintPreviewDialog1;

private:

   // Declare a PrintDocument object named document.
   System::Drawing::Printing::PrintDocument^ document;

   // Initalize the dialog.
   void InitializePrintPreviewDialog()
   {
      
      // Create a new PrintPreviewDialog using constructor.
      this->PrintPreviewDialog1 = gcnew PrintPreviewDialog;
      
      //Set the size, location, and name.
      this->PrintPreviewDialog1->ClientSize = System::Drawing::Size( 400, 300 );
      this->PrintPreviewDialog1->Location = System::Drawing::Point( 29, 29 );
      this->PrintPreviewDialog1->Name = "PrintPreviewDialog1";
      
      // Associate the event-handling method with the 
      // document's PrintPage event.
      this->document->PrintPage += gcnew System::Drawing::Printing::PrintPageEventHandler( this, &Form1::document_PrintPage );
      
      // Set the minimum size the dialog can be resized to.
      this->PrintPreviewDialog1->MinimumSize = System::Drawing::Size( 375, 250 );
      
      // Set the UseAntiAlias property to true, which will allow the 
      // operating system to smooth fonts.
      this->PrintPreviewDialog1->UseAntiAlias = true;
   }

   void Button1_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      if ( TreeView1->SelectedNode != nullptr )
      {
         document->DocumentName = TreeView1->SelectedNode->Tag->ToString();
      }

      // Set the PrintPreviewDialog.Document property to
      // the PrintDocument object selected by the user.
      PrintPreviewDialog1->Document = document;
      
      // Call the ShowDialog method. This will trigger the document's
      //  PrintPage event.
      PrintPreviewDialog1->ShowDialog();
   }

   void document_PrintPage( Object^ /*sender*/, System::Drawing::Printing::PrintPageEventArgs^ e )
   {
      
      // Insert code to render the page here.
      // This code will be called when the PrintPreviewDialog.Show 
      // method is called.
      // The following code will render a simple
      // message on the document in the dialog.
      String^ text = "In document_PrintPage method.";
      System::Drawing::Font^ printFont = gcnew System::Drawing::Font( "Arial",35,System::Drawing::FontStyle::Regular );
      e->Graphics->DrawString( text, printFont, System::Drawing::Brushes::Black, 0, 0 );
   }
// Declare the dialog.
PrintPreviewDialog printPreviewDialog1;

// Declare a PrintDocument object named document.
private System.Drawing.Printing.PrintDocument document =
    new System.Drawing.Printing.PrintDocument();

// Initalize the dialog.
private void InitializePrintPreviewDialog()
{
    // Create a new PrintPreviewDialog using constructor.
    this.printPreviewDialog1 = new PrintPreviewDialog();
    //Set the size, location, and name.
    this.printPreviewDialog1.set_ClientSize(
        new System.Drawing.Size(400, 300));
    this.printPreviewDialog1.set_Location(new System.Drawing.Point(29, 29));
    this.printPreviewDialog1.set_Name("PrintPreviewDialog1");
    // Associate the event-handling method with the 
    // document's PrintPage event.
    this.document.add_PrintPage(
        new System.Drawing.Printing.PrintPageEventHandler(
        document_PrintPage));
    // Set the minimum size the dialog can be resized to.
    this.printPreviewDialog1.set_MinimumSize(
        new System.Drawing.Size(375, 250));
    // Set the UseAntiAlias property to true, which will allow the 
    // operating system to smooth fonts.
    this.printPreviewDialog1.set_UseAntiAlias(true);
} //InitializePrintPreviewDialog

private void button1_Click(Object sender, System.EventArgs e)
{
    if (treeView1.get_SelectedNode() != null) {
        // Set the PrintDocument object's name to the selectedNode
        // object's  tag, which in this case contains the 
        // fully-qualified name of the document. This value will 
        // show when the dialog reports progress.
        document.set_DocumentName(
            treeView1.get_SelectedNode().get_Tag().ToString());
    }
    // Set the PrintPreviewDialog.Document property to
    // the PrintDocument object selected by the user.
    printPreviewDialog1.set_Document(document);
    // Call the ShowDialog method. This will trigger the document's
    //  PrintPage event.
    printPreviewDialog1.ShowDialog();
} //button1_Click

private void document_PrintPage(Object sender,
    System.Drawing.Printing.PrintPageEventArgs e)
{
    // Insert code to render the page here.
    // This code will be called when the PrintPreviewDialog.Show 
    // method is called.
    // The following code will render a simple
    // message on the document in the dialog.
    String text = "In document_PrintPage method.";
    System.Drawing.Font printFont =
        new System.Drawing.Font("Arial", 35,
        System.Drawing.FontStyle.Regular);

    e.get_Graphics().DrawString(text, printFont,
        System.Drawing.Brushes.get_Black(), 0, 0);
} //document_PrintPage

继承层次结构

System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Windows.Forms.Control
         System.Windows.Forms.ScrollableControl
           System.Windows.Forms.ContainerControl
             System.Windows.Forms.Form
              System.Windows.Forms.PrintPreviewDialog

线程安全

此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

PrintPreviewDialog 成员
System.Windows.Forms 命名空间
PageSetupDialog 类
PrintDialog 类
PrintPreviewControl 类