PrintPreviewDialog コントロールの概要 (Windows フォーム)

Windows フォームの PrintPreviewDialog コントロールは、印刷時に PrintDocument をどのように表示するかを表示するために使用する事前構成されたダイアログ ボックスです。 お使いの Windows ベースのアプリケーションの中で、自分独自のダイアログ ボックスを構成する代わりの簡単な解決方法として使用することができます。 このコントロールには、印刷を開始するボタン、ズーム イン用のボタン、1 ページまたは複数ページを表示するボタン、およびダイアログ ボックスを閉じるためのボタンが含まれています。

主要なプロパティとメソッド

このコントロールの主要なプロパティは、プレビューするドキュメントを設定する Document です。 ドキュメントは PrintDocument オブジェクトである必要があります。 このダイアログ ボックスを表示するには、その ShowDialog メソッドを呼び出す必要があります。 アンチエイリアシングを使用すると、テキストを滑らかに表示できますが、表示速度が低下する場合があります。これを使用するには、UseAntiAlias プロパティを true に設定します。

特定のプロパティは、PrintPreviewDialog に含まれる PrintPreviewControl を介して使用できます。 (この PrintPreviewControl は、フォームに追加する必要はありません。お使いのフォームにダイアログを追加するとき、PrintPreviewDialog に自動的に含まれます。)PrintPreviewControl を介して使用できるプロパティの例には、コントロール上に水平および垂直方向に表示するページ数を決定する Columns および Rows プロパティがあります。 Columns プロパティには、Visual Basic では PrintPreviewDialog1.PrintPreviewControl.Columns、Visual C# では printPreviewDialog1.PrintPreviewControl.Columns、または Visual C++ では printPreviewDialog1->PrintPreviewControl->Columns からアクセスできます。

PrintPreviewDialog のパフォーマンス

次の条件下では、PrintPreviewDialog コントロールの初期化が非常に遅くなります。

  • ネットワーク プリンターを使用している。
  • このプリンターのユーザー設定 (両面印刷設定など) が変更された。

.NET Framework 4.5.2 で実行するアプリでは、お使いの構成ファイルの <appSettings> セクションに次のキーを追加して、PrintPreviewDialog コントロールの初期化のパフォーマンスを向上させることができます。

<appSettings>
   <add key="EnablePrintPreviewOptimization" value="true" />
</appSettings>

EnablePrintPreviewOptimization キーが他の値に設定されている場合やキーが存在しない場合は、最適化はされません。

.NET Framework 4.6 以降のバージョンで実行するアプリでは、お使いのアプリの構成ファイルの <runtime> セクションの <AppContextSwitchOverrides> 要素に次のスイッチを追加します。

<runtime >
   <!-- AppContextSwitchOverrides values are in the form of 'key1=true|false;key2=true|false -->
   <AppContextSwitchOverrides value = "Switch.System.Drawing.Printing.OptimizePrintPreview=true" />
</runtime >

スイッチが存在しない場合、または他の値に設定されている場合、最適化はされません。

プリンターの設定を QueryPageSettings イベントを使用して変更した場合、構成の最適化スイッチが設定されていても、PrintPreviewDialog コントロールのパフォーマンスは向上しません。

関連項目