.NET TIPS 印刷プレビュー(ダイアログ形式)を表示するには?[C#、VB]デジタルアドバンテージ 一色 政彦2007/08/02 |
![]() |
「TIPS:Windowsアプリケーションで印刷を行うには?」や「TIPS:複数ページの印刷を行うには?」では、Windowsアプリケーションなどで印刷を行う方法を紹介した。本TIPSでは印刷のプレビュー画面(以降、印刷プレビュー)を表示する方法を説明する。
印刷プレビュー(ダイアログ形式)の表示
.NETアプリケーションで印刷プレビューを表示するには、ダイアログ形式の「印刷プレビュー・ダイアログ」、もしくはコントロール形式の「印刷プレビュー・コントロール」を使うことが一般的だ。本稿ではこのうち、印刷プレビュー・ダイアログの利用方法について紹介する。Windowsフォーム上に配置可能なコントロール形式の印刷プレビュー・コントロールについては後日公開予定のTIPSであらためて紹介する。
印刷プレビュー・ダイアログはPrintPreviewDialogクラス(System.Windows.Forms名前空間)として標準で提供されている。従って、実際に印刷プレビュー・ダイアログを表示するには、WindowsフォームのコンストラクタなどでPrintPreviewDialogクラスのインスタンスを生成して利用するだけだ。PrintPreviewDialogオブジェクトのDocumentプロパティに、印刷ドキュメント・オブジェクト、すなわちPrintDocumentコンポーネント(System.Drawing.Printing名前空間)を指定し、実際に印刷プレビュー・ダイアログを表示したいタイミングでPrintPreviewDialogオブジェクトのShowDialogメソッド(パラメータなし)を呼び出せばよい。
なお、プレビューに表示される印刷内容には、実際に印刷するときと同じPrintPageイベント・ハンドラの処理内容が利用されるので、印刷プレビュー用に印刷処理を書く必要はない(つまり、実際の印刷と印刷プレビューで、1つの印刷処理を共有できる)。
以上の内容を実装したのが、次のサンプル・コードだ。このコードでは、Form1クラスのコンストラクタでPrintPreviewDialogオブジェクトを生成して、そのオブジェクトのDocumentプロパティにPrintDocumentコンポーネントを指定している。さらに、button1ボタンのClickイベント・ハンドラ(=button1_Clickメソッド)内でPrintPreviewDialogオブジェクトのShowDialogメソッドを呼び出している。これにより、button1ボタンがクリックされると、印刷プレビュー・ダイアログが表示されることになる。
|
||
| 印刷プレビュー・ダイアログを表示するサンプル・コード(上:C#、下:VB) |
次の画面は、上記のサンプル・コードを含むWindowsフォーム・アプリケーションを実行して、実際に印刷プレビュー・ダイアログを表示した例である。
![]() |
| 印刷プレビュー・ダイアログの表示例 |
このように、印刷プレビュー・ダイアログには[印刷]や[ズーム]、[1 ページ]から[6 ページ]までの表示形式などに対応するボタン、また[ページ]番号を切り替えるためのコントロールなど、基本的な操作方法が提供されている。
Visual Studio(IDE)を活用した印刷プレビュー・ダイアログの実装
ここまでの説明では、コーディングによる実装方法を解説したが、PrintPreviewDialogオブジェクトは(PrintDocumentコンポーネントと同様に)ドラッグ&ドロップによりWindowsフォーム・デザイナで配置可能な[ツールボックス]のアイテムとして提供されているので、Visual StudioのIDEを活用してより簡単に実装することもできる。
次の画面は実際に[ツールボックス]からPrintPreviewDialogオブジェクトを追加している例である(Visual Studio 2005の場合)。
![]() |
||||||
| Visual Studio(IDE)を活用した印刷プレビュー・ダイアログの実装(Visual Studio 2005の場合) | ||||||
| [ツールボックス]からPrintPreviewDialogオブジェクトを追加している例。 | ||||||
|
この画面のように、[ツールボックス]からPrintPreviewDialogオブジェクトを配置すると、Windowsフォーム・デザイナのコンポーネント領域に表示される。PrintPreviewDialogオブジェクトのDocumentプロパティは、[プロパティ]ウィンドウから設定できる。
後は、任意のコード個所でPrintPreviewDialogオブジェクトのShowDialogメソッドを呼び出せば、印刷プレビュー・ダイアログが表示される。![]()
| カテゴリ:Windowsフォーム 処理対象:印刷 カテゴリ:クラス・ライブラリ 処理対象:印刷 使用ライブラリ:PrintDocumentクラス(System.Drawing.Printing名前空間) 使用ライブラリ:PrintPreviewDialogクラス(System.Windows.Forms名前空間) 関連TIPS:Windowsアプリケーションで印刷を行うには? 関連TIPS:複数ページの印刷を行うには? 関連TIPS:印刷プレビュー(コントロール形式)を表示するには?(後日公開予定) |
|
||||||||||||||||||||
| 「.NET TIPS」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -




