PrintDocument.QueryPageSettings イベント
アセンブリ: System.Drawing (system.drawing.dll 内)

Dim instance As PrintDocument Dim handler As QueryPageSettingsEventHandler AddHandler instance.QueryPageSettings, handler
public: event QueryPageSettingsEventHandler^ QueryPageSettings { void add (QueryPageSettingsEventHandler^ value); void remove (QueryPageSettingsEventHandler^ value); }

ドキュメントの各ページを異なるページ設定を使用して印刷できます。QueryPageSettingsEventArgs.PageSettings のプロパティを個別に変更するか、プロパティを PageSettings に設定することによって、ページ設定を指定します。PageSettings に対する変更は、現在のページにだけ影響を与えます。ドキュメントの既定のページ設定には影響を与えません。QueryPageSettingsEventArgs の Cancel プロパティを true に設定することによって、印刷ジョブをキャンセルすることもできます。
イベントをイベント ハンドラに関連付けるには、QueryPageSettingsEventHandler デリゲートのインスタンスをイベントに追加します。イベント ハンドラは、該当するイベントが発生すると必ず呼び出されます。デリゲートを使用したイベント処理の詳細については、「イベントとデリゲート」を参照してください。

文書を印刷するコード例を次に示します。カラー プリンタの場合は、先頭ページがカラーで印刷されます。この例では、printDoc という名前の PrintDocument 変数が既に作成されており、PrintPage イベントと QueryPageSettings イベントが処理されることが必要条件となります。currentPageNumber 変数は PrintPage イベントで各ページが印刷された後でインクリメントされますが、表示されません。
この例では、System.Drawing 名前空間と System.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

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からPrintDocument.QueryPageSettings イベントを検索する場合は、下記のリンクをクリックしてください。

- PrintDocument.QueryPageSettings イベントのページへのリンク