C#「印刷」ダイアログを表示する

スポンサーリンク

CommonDialog ある「印刷」ダイアログを表示するには、System.Windows.Forms.PrintDialog クラスの ShowDialog メソッドを使用します。ShowDialog メソッドは、どのボタンを選択したかを戻り値にて取得可能です。

以下の例では、オプションを担うプロパティが列挙されていますが、必要ないものは削ってください。

サンプルコード

以下にサンプルコードを示します。

C# 全般
    // PrintDialog の新しいインスタンスを生成する (デザイナから追加している場合は必要ない)
    PrintDialog printDialog1 = new PrintDialog();

    // PrinterSettings の新しいインスタンスを生成する (必須)
    printDialog1.PrinterSettings = new System.Drawing.Printing.PrinterSettings();

    // プリンタ名を指定する
    //printDialog1.PrinterSettings.PrinterName = "PrinterName";

    // 印刷範囲を「ページ指定」にする
    printDialog1.PrinterSettings.PrintRange = System.Drawing.Printing.PrintRange.SomePages;

    // 印刷範囲で指定可能な最大ページ数を設定する
    printDialog1.PrinterSettings.MaximumPage = short.MaxValue;

    // 印刷範囲で指定可能な最小ページ数を設定する
    printDialog1.PrinterSettings.MinimumPage = 1;

    // 印刷開始ページを設定する
    printDialog1.PrinterSettings.FromPage = 1;

    // 印刷終了ページを設定する
    printDialog1.PrinterSettings.ToPage = short.MaxValue;

    // [ファイルへ出力] チェックボックスを有効にする (初期値 true)
    //printDialog1.AllowPrintToFile = true;

    // [ファイルへ出力] チェックボックスをオンにする (初期値 false)
    printDialog1.PrintToFile = true;

    // 印刷範囲のページ指定を有効にする (初期値 false)
    printDialog1.AllowSelection = true;

    // 印刷範囲のページ指定を有効にする (初期値 false)
    printDialog1.AllowSomePages = true;

    // [部単位で印刷] チェックボックスをオンにする (初期値 true)
    //printDialog1.PrinterSettings.Collate = true;

    // 部数を設定する
    printDialog1.PrinterSettings.Copies = 8;

    // [ヘルプ] ボタンを表示する (初期値 false)
    printDialog1.ShowHelp = true;

    // [ネットワーク] ボタンを表示する (初期値 true)
    //printDialog1.ShowNetwork = true;

    // ダイアログを表示し、戻り値が [OK] の場合は印刷の処理を実行する
    if (printDialog1.ShowDialog() == DialogResult.OK) {
        MessageBox.Show("ここに、印刷の処理を実装してください");
    }

    // 不要になった時点で破棄する (正しくは オブジェクトの破棄を保証する を参照)
    printDialog1.Dispose();

関連するリファレンス

準備中です。

スポンサーリンク