|
一つ目の質問 どのようなコードを組んでいるのかがわからないけど、印刷時のPrintPageイベント内でいじった後のDBを使って印刷しているの?
二つ目の質問 PrintDocumentのPrintPageイベント内で引数のe(PrintPageEventArgs型)に e.PageSettings.PrinterSettings.PrintRangeでPrintDialogで設定された印刷範囲タイプが、 e.PageSettings.PrinterSettings.FromPageでPrintDialogで設定された開始ページが、 e.PageSettings.PrinterSettings.ToPageでPrintDialogで設定された終了ページが取得できるので ページカウンタ変数を用意しておき上記の情報を元にGraphicsオブジェクトに描画を行う。 Dim pageCnt As Integer = 1
Private Sub PrintDocument_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) If e.PageSettings.PrinterSettings.PrintRange = PrintRange.SomePages Then ' 範囲指定されている場合 If pageCnt < e.PageSettings.PrinterSettings.FromPage Then pageCnt = e.PageSettings.PrinterSettings.FromPage EndIf ' pageCntのページを描画 e.Graphics.Drawxxxx(xxxx) If pageCnt < e.PageSettings.PrinterSettings.ToPage Then e.HasMorePages = True pageCnt += 1 Else e.HasMorePages = False pageCnt = 1 ' 次回印刷のために初期化しておく End If End If
|