HIRO's.NET

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

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

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

HIRO's.NET RSSHIRO's.NET RSS


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

HOME > VB.NET 2003 Tips > コントロール > PrintDocument Tips メニュー

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

UPDATE:2006/06/27 

<< 前のTips  次のTips >>

 

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

 
サンプル
Private intPageCnt As Integer = 1    'ページカウンタ

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    intPageCnt = 1

    '印刷を実行
    PrintDocument1.Print()
End Sub

Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, _
        ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage

    Dim g As Graphics = e.Graphics

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

    'ページごとに描画するオブジェクトを変える
    Select Case intPageCnt
        Case 1
            '文字列を描く(左から10mm、上から20mmの位置)
            g.DrawString("文字列を印刷します。", _
                New Font("MS Pゴシック", 12), Brushes.Black, _
                10, 20)

            '次ページも印刷なのでTrueをセット
            e.HasMorePages = True
        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
    End Select

    'ページカウントアップ
    intPageCnt += 1
End Sub
 

<< 前のTips  次のTips >>