方法: 標準の Windows フォーム印刷ジョブを作成する

Windows フォームでの印刷の基盤となるのは PrintDocument コンポーネント (具体的には PrintPage イベント) です。 PrintPage イベントを処理するコードを記述することによって、印刷する内容と印刷方法を指定できます。

印刷ジョブを作成するには

  1. フォームに PrintDocument コンポーネントを追加します。

  2. 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 イベントのコードを記述することもできます。たとえば、印刷ページの総数を表す整数を含め、ページを印刷するたびに 1 つずつ減らすことができます。

    注意

    PrintDialog コンポーネントをフォームに追加すると、ユーザーにとって明確で効率的なユーザー インターフェイス (UI) を提供できます。 PrintDialog コンポーネントの Document プロパティを設定すると、フォーム上で作業している印刷ドキュメントに関連するプロパティを設定できます。 PrintDialog コンポーネントの詳細については、「PrintDialog コンポーネント」を参照してください。

    プログラムによって印刷ジョブを作成する方法など、Windows フォーム印刷ジョブの詳細については、「PrintPageEventArgs」を参照してください。

関連項目