印刷関連:印刷ダイアログを表示

VB2008でPrintDocumentを使い印刷ダイアログを表示させるサンプルです。

印刷関連へ



PrintDocumentコンポーネントを使って印刷ダイアログを表示させるには、PrintDialogコンポーネントを使います。

フォームのデザイン画面で、ツールボックスからPrintDocumentコンポーネント、PrintPreviewDialogコンポーネント、PrintDialogコンポーネントを配置してください。

■手順
1) フォームデザインで、コマンドボタンとPrintDocumentとPrintPreviewDialogとPrintDialogコンポーネントを配置します。
印刷ダイアログを配置したデザイン画面

2)コマンドボタンクリックイベントで下記の内容を実行します。
 1.印刷ダイアログコンポーネントに印刷コンポーネントを指定します
 2.印刷ダイアログを表示します。
 3.印刷実行ボタンがクリックされると、PrintPreviewDialogのDocumentに、PrintDocumentコンポーネントをセットします。
  そして、ShowDialog メソッド を実行します。

3)PrintPageイベントの、GraphicsクラスのDrawStringメソッドに印刷文字等を設定します。

■実行画面
「印刷ダイアログを表示し印刷」ボタンをクリックすると、印刷ダイアログが表示されます。
印刷実行ソフト

■印刷ダイアログ画面
「印刷」ボタンをクリックすると、印刷プレビューダイアログ画面を表示します。
印刷設定画面

■印刷プレビューダイアログ画面
印刷ダイアログで用紙方向を横にしました。
印刷プレビュー画面

■実行コード

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ans As DialogResult

'印刷ダイアログに印刷ドキュメントを指定する
Me.PrintDialog1.Document = Me.PrintDocument1
'印刷ダイアログを表示
ans = Me.PrintDialog1.ShowDialog

'印刷ボタンがクリックされた場合
If ans = DialogResult.OK Then
'PrintPreviewDialogコンポーネントのDocumentプロパティに印刷対象のPrintDocumentコンポーネントをセット
Me.PrintPreviewDialog1.Document = Me.PrintDocument1
'印刷プレビューダイアログを表示
Me.PrintPreviewDialog1.ShowDialog()
End If
End Sub

Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
'テキスト印刷
e.Graphics.DrawString("Visual Basic 2008 Express Edition実践入門", New Font("MS P 明朝", 20), _
Brushes.Black, e.MarginBounds.Left, e.MarginBounds.Top)
End Sub
End Class


Visual Basic 2008 Express Edition実践入門