QueryPageSettingsEventArgs 类

QueryPageSettings 事件提供数据。

**命名空间:**System.Drawing.Printing
**程序集:**System.Drawing(在 system.drawing.dll 中)

语法

声明
Public Class QueryPageSettingsEventArgs
    Inherits PrintEventArgs
用法
Dim instance As QueryPageSettingsEventArgs
public class QueryPageSettingsEventArgs : PrintEventArgs
public ref class QueryPageSettingsEventArgs : public PrintEventArgs
public class QueryPageSettingsEventArgs extends PrintEventArgs
public class QueryPageSettingsEventArgs extends PrintEventArgs

备注

用不同的页设置来打印文档的每一页是可能的。通过修改 PageSettings 属性的各个属性,或者将该属性设置为 PageSettings,可以设置页设置。通过将 Cancel 属性设置为 true,还可以取消打印作业。

示例

下面的代码示例打印文档并彩印文档的第一页(如果打印机支持此功能)。该示例假定已创建一个名为 printDoc 的变量 PrintDocument,并且 PrintPageQueryPageSettings 事件已处理。

在此示例中使用 System.DrawingSystem.Drawing.Printing 命名空间。

Private Sub MyButtonPrint_OnClick(ByVal sender As Object, ByVal e As System.EventArgs)

    ' Set the printer name and ensure it is valid. If not, provide a message to the user.
    printDoc.PrinterSettings.PrinterName = "\\mynetworkprinter"

    If printDoc.PrinterSettings.IsValid Then

        ' If the printer supports printing in color, then override the printer's default behavior.
        if printDoc.PrinterSettings.SupportsColor then

            ' Set the page default's to not print in color.
            printDoc.DefaultPageSettings.Color = False
        End If

        ' Provide a friendly name, set the page number, and print the document.
        printDoc.DocumentName = "My Presentation"
        currentPageNumber = 1
        printDoc.Print()
    Else
        MessageBox.Show("Printer is not valid")
    End If
End Sub

Private Sub MyPrintQueryPageSettingsEvent(ByVal sender As Object, ByVal e As QueryPageSettingsEventArgs)

    ' Determines if the printer supports printing in color.
    If printDoc.PrinterSettings.SupportsColor Then

        ' If the printer supports color printing, use color.
        If currentPageNumber = 1 Then

            e.PageSettings.Color = True
        End If

    End If
End Sub
private void MyButtonPrint_OnClick(object sender, System.EventArgs e)
{
    
    // Set the printer name and ensure it is valid. If not, provide a message to the user.
    printDoc.PrinterSettings.PrinterName = "\\mynetworkprinter";

    if (printDoc.PrinterSettings.IsValid) {
    
        // If the printer supports printing in color, then override the printer's default behavior.
        if (printDoc.PrinterSettings.SupportsColor) {

            // Set the page default's to not print in color.
            printDoc.DefaultPageSettings.Color = false;
        }

        // Provide a friendly name, set the page number, and print the document.
        printDoc.DocumentName = "My Presentation";
        currentPageNumber = 1;
        printDoc.Print();
    }
    else {
        MessageBox.Show("Printer is not valid");
    }
}

private void MyPrintQueryPageSettingsEvent(object sender, QueryPageSettingsEventArgs e)
{
    // Determines if the printer supports printing in color.
    if (printDoc.PrinterSettings.SupportsColor) {

        // If the printer supports color printing, use color.
        if (currentPageNumber == 1 ) {

            e.PageSettings.Color = true;
        }

    }    
}
private:
   void MyButtonPrint_OnClick( Object^ sender, System::EventArgs^ e )
   {
      // Set the printer name and ensure it is valid. If not, provide a message to the user.
      printDoc->PrinterSettings->PrinterName = "\\mynetworkprinter";
      if ( printDoc->PrinterSettings->IsValid )
      {
         // If the printer supports printing in color, then override the printer's default behavior.
         if ( printDoc->PrinterSettings->SupportsColor )
         {
            // Set the page default's to not print in color.
            printDoc->DefaultPageSettings->Color = false;
         }

         // Provide a friendly name, set the page number, and print the document.
         printDoc->DocumentName = "My Presentation";
         currentPageNumber = 1;
         printDoc->Print();
      }
      else
      {
         MessageBox::Show( "Printer is not valid" );
      }
   }

   void MyPrintQueryPageSettingsEvent( Object^ sender, QueryPageSettingsEventArgs^ e )
   {
      // Determines if the printer supports printing in color.
      if ( printDoc->PrinterSettings->SupportsColor )
      {
         // If the printer supports color printing, use color.
         if ( currentPageNumber == 1 )
         {
            e->PageSettings->Color = true;
         }
      }
   }
private void myButtonPrint_OnClick(Object sender, System.EventArgs e)
{
    // Set the printer name and ensure it is valid. If not,
    // provide a message to the user.
    printDoc.get_PrinterSettings().set_PrinterName("\\mynetworkprinter");

    if (printDoc.get_PrinterSettings().get_IsValid()) {
        // If the printer supports printing in color, then 
        // override the printer's default behavior.
        if (printDoc.get_PrinterSettings().get_SupportsColor()) {
            // Set the page default's to not print in color.
            printDoc.get_DefaultPageSettings().set_Color(false);
        }
        // Provide a friendly name, set the page number, and print
        // the document.
        printDoc.set_DocumentName("My Presentation");
        currentPageNumber = 1;
        printDoc.Print();
    }
    else {
        MessageBox.Show("Printer is not valid");
    }
} //myButtonPrint_OnClick

private void MyPrintQueryPageSettingsEvent(Object sender, 
    QueryPageSettingsEventArgs e)
{
    // Determines if the printer supports printing in color.
    if (printDoc.get_PrinterSettings().get_SupportsColor()) {
        // If the printer supports color printing, use color.
        if (currentPageNumber == 1) {
            e.get_PageSettings().set_Color(true);
        }
    }
} //MyPrintQueryPageSettingsEvent

继承层次结构

System.Object
   System.EventArgs
     System.ComponentModel.CancelEventArgs
       System.Drawing.Printing.PrintEventArgs
        System.Drawing.Printing.QueryPageSettingsEventArgs

线程安全

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

平台

Windows 98、Windows 2000 SP4、Windows Millennium Edition、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

请参见

参考

QueryPageSettingsEventArgs 成员
System.Drawing.Printing 命名空间
PrintDocument 类
OnQueryPageSettings
PrintDocument.QueryPageSettings 事件
QueryPageSettingsEventHandler