方法: 標準の Windows フォーム印刷ジョブを作成する
Windows フォームでの印刷の基礎は、PrintDocument コンポーネントです。具体的には、PrintPage イベントです。 PrintPage イベントを処理するコードを記述することで、印刷する内容とその出力方法を指定できます。
印刷ジョブを作成するには
PrintDocument コンポーネントをフォームに追加します。
PrintPage イベントを処理するコードを記述します。
独自の印刷ロジックをコーディングする必要があります。 さらに、印刷する材料を指定する必要があります。
次のコード例では、印刷する素材として機能する PrintPage イベント ハンドラーに、赤い四角形の図形のサンプル グラフィックが作成されています。
Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage e.Graphics.FillRectangle(Brushes.Red, New Rectangle(500, 500, 500, 500)) End Sub
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { e.Graphics.FillRectangle(Brushes.Red, new Rectangle(500, 500, 500, 500)); }
private: void printDocument1_PrintPage(System::Object ^ sender, System::Drawing::Printing::PrintPageEventArgs ^ e) { e->Graphics->FillRectangle(Brushes::Red, Rectangle(500, 500, 500, 500)); }
(Visual C# と Visual C++)フォームのコンストラクターに次のコードを配置して、イベント ハンドラーを登録します。
this.printDocument1.PrintPage += new System.Drawing.Printing.PrintPageEventHandler (this.printDocument1_PrintPage);
printDocument1->PrintPage += gcnew System::Drawing::Printing::PrintPageEventHandler (this, &Form1::printDocument1_PrintPage);
BeginPrint イベントと EndPrint イベントのコードを記述したいと思うかもしれません。たとえば、印刷する各ページごとに減少する印刷ページの総数を表す整数を含めることも検討してください。
手記
PrintDialog コンポーネントをフォームに追加して、ユーザーにクリーンで効率的なユーザー インターフェイス (UI) を提供できます。 PrintDialog コンポーネントの Document プロパティを設定すると、フォームで操作している印刷ドキュメントに関連するプロパティを設定できます。 PrintDialog コンポーネントの詳細については、「PrintDialog コンポーネント」を参照してください。
プログラムで印刷ジョブを作成する方法など、Windows フォーム印刷ジョブの詳細については、「PrintPageEventArgsを参照してください。
関連項目
.NET Desktop feedback