HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


C# 2003の開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > C# 2003 Tips > コントロール > PrintDocument Tips メニュー

04.複数ページの印刷を行う

UPDATE:2006/06/27 

<< 前のTips  次のTips >>

 

 複数ページの印刷を行うには、PrintPageイベントの、引数PrintPageEventArgsオブジェクトのGraphicsプロパティに格納されている、 HasMorePagesプロパティにtrueを設定します。falseを設定したページで印刷が終了します。

 
サンプル
private int intPageCnt = 1;    //ページカウンタ

private void button1_Click(object sender, System.EventArgs e)
{
    intPageCnt = 1;

    //印刷を実行
    printDocument1.Print();
}

private void printDocument1_PrintPage(object sender, 
    System.Drawing.Printing.PrintPageEventArgs e)
{

    Graphics g = e.Graphics;

    //長さの単位をミリメートルにする
    g.PageUnit = GraphicsUnit.Millimeter;

    switch ( intPageCnt )
    {
        case 1:
            //文字列を描く(左から10mm、上から20mmの位置)
            g.DrawString("文字列を印刷します。", 
                new Font("MS Pゴシック", 12), Brushes.Black, 
                10, 20);

            //次ページも印刷なのでtrueをセット
            e.HasMorePages = true;

            break;

        case 2:
            //長方形を描画(青いペン、左から30mm,上から30mm,幅40mm,高さ20mm)
            g.DrawRectangle(Pens.Blue, 30, 30, 40, 20);

            //円を描画(赤いペン、左から30mm,上から60mm,幅40mm,高さ40mm)
            g.DrawEllipse(Pens.Red, 30, 60, 40, 40);

            //このページで終了
            e.HasMorePages = false;

            break;
    }

    //ページカウントアップ
    intPageCnt++;

}
 

<< 前のTips  次のTips >>