方法: Windows フォーム アプリケーションに印刷プレビューを表示する
PrintPreviewDialog コントロールを使用して、ユーザーがドキュメントを表示できるようにします。多くの場合、印刷前に実行されます。
これを行うには、PrintDocument クラスのインスタンスを指定する必要があります。これは印刷されるドキュメントです。 PrintDocument コンポーネントで印刷プレビューを使用する方法の詳細については、「方法: 印刷プレビューを使用して Windows フォームで印刷する方法」を参照してください。
注意
実行時にユーザーが PrintPreviewDialog コントロールを使用するには、ローカルまたはネットワーク経由でコンピューターにプリンターがインストールされている必要があります。これは、印刷時のドキュメントの外観を PrintPreviewDialog コンポーネントが決定する方法の一部であるためです。
PrintPreviewDialog コントロールは、PrinterSettings クラスを使用します。 さらに、PrintPreviewDialog コントロールは、PrintPreviewDialog コンポーネントと同じように PageSettings クラスを使用します。 PrintPreviewDialog コントロールの Document プロパティに指定された印刷ドキュメントは、PrinterSettings クラスと PageSettings クラスの両方のインスタンスを参照します。これらを使用して、ドキュメントがプレビュー ウィンドウにレンダリングされます。
PrintPreviewDialog コントロールを使用してページを表示するには
ShowDialog メソッドを使用してダイアログ ボックスを表示し、使用する PrintDocument を指定します。
次のコード例では、Button コントロールの Click イベント ハンドラーによって、PrintPreviewDialog コントロールのインスタンスが開きます。 印刷ドキュメントは、Document プロパティに指定されます。 次の例では、印刷ドキュメントが指定されません。
この例では、フォームに、Button コントロール、
myDocument
という名前の PrintDocument コンポーネント、および PrintPreviewDialog コントロールが含まれている必要があります。Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click ' The print document 'myDocument' used below ' is merely for an example. ' You will have to specify your own print document. PrintPreviewDialog1.Document = myDocument PrintPreviewDialog1.ShowDialog() End Sub
private void button1_Click(object sender, System.EventArgs e) { // The print document 'myDocument' used below // is merely for an example. // You will have to specify your own print document. printPreviewDialog1.Document = myDocument; printPreviewDialog1.ShowDialog(); }
private: void button1_Click(System::Object ^ sender, System::EventArgs ^ e) { // The print document 'myDocument' used below // is merely for an example. // You will have to specify your own print document. printPreviewDialog1->Document = myDocument; printPreviewDialog1->ShowDialog(); }
(Visual C#、Visual C++) フォームのコンストラクターに次のコードを配置して、イベント ハンドラーを登録します。
this.button1.Click += new System.EventHandler(this.button1_Click);
this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
関連項目
.NET Desktop feedback