.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」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|