PrintDocument.QueryPageSettings 이벤트

정의

PrintPage 이벤트 바로 전에 발생합니다.

public:
 event System::Drawing::Printing::QueryPageSettingsEventHandler ^ QueryPageSettings;
public event System.Drawing.Printing.QueryPageSettingsEventHandler QueryPageSettings;
member this.QueryPageSettings : System.Drawing.Printing.QueryPageSettingsEventHandler 
Public Custom Event QueryPageSettings As QueryPageSettingsEventHandler 

이벤트 유형

QueryPageSettingsEventHandler

예제

다음은 프린터에서 지원하는 경우 첫 번째 페이지가 색인 문서를 인쇄하는 코드 예제입니다. 이 예제에서는 명명 printDoc 된 변수를 PrintDocument 만들고 이벤트 및 PrintPage QueryPageSettings 이벤트를 처리해야 합니다. currentPageNumber 모든 페이지가 이벤트에 인쇄된 PrintPage 후 변수가 증가합니다. 이 값은 표시되지 않습니다.

이 예제에서는 System.Drawing 네임스페이스 및 System.Drawing.Printing 네임스페이스를 사용합니다.

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.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 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

설명

다른 페이지 설정을 사용하여 문서의 각 페이지를 인쇄할 수 있습니다. 속성의 QueryPageSettingsEventArgs.PageSettings 개별 속성을 수정하거나 속성을 .로 설정하여 페이지 설정을 PageSettings설정합니다. 변경 내용은 PageSettings 문서의 기본 페이지 설정이 아니라 현재 페이지에만 적용됩니다. 속성을 로 설정 Cancel 하여 인쇄 작업을 취소할 true QueryPageSettingsEventArgs수도 있습니다.

이벤트를 이벤트 처리기와 연결하려면 대리자의 인스턴스를 QueryPageSettingsEventHandler 이벤트에 추가합니다. 이벤트 처리기는 이벤트가 발생할 때마다 호출됩니다. 대리자를 사용 하 여 이벤트를 처리 하는 방법에 대 한 자세한 내용은 참조 하세요. 이벤트 처리 및 발생합니다.

이벤트를 사용하여 QueryPageSettings 프린터 설정을 수정하는 경우 최적화 구성 스위치가 PrintPreviewDialog 설정된 경우에도 컨트롤의 성능이 향상되지 않습니다. 자세한 내용은 PrintPreviewDialog 컨트롤 개요를 참조하세요.

적용 대상

추가 정보