全体表示

[ リスト ]

ちょっと興味があって、C#での印刷ってどうなるか試してみた。

印刷するためには、
・(必須)PrintDocumentコンポーネント(ここに絵を書く感じで印刷ネタを用意)
・PrintPreviewDialogコンポーネント(プレビュー画面を出す場合)
・PrintDialogコンポーネント(プリンタを選んだりするダイアログ)
をダイアログに貼り付けます。
っていっても、実際には画面の下のほうに並ぶだけで、フォーム上には表示されません。
が、実際にはFormのクラスのメンバとして使えます。
イメージ 1


コードはこんな感じ
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace PrintingTest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //印刷ボタン
        private void button1_Click(object sender, EventArgs e)
        {
            if (this.printDialog1.ShowDialog() == DialogResult.OK)
            {
                this.printDocument1.Print();
            }
        }

        //this.printDocument1.Print()の後呼ばれるイベント(詳細はリンクのページ)
        private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            Font font = new Font("MSゴシック", 32);
            SolidBrush brush = new SolidBrush(Color.Black);
            e.Graphics.DrawString(this.textBox1.Text , font, brush, new Point(50, 200) );
            //ここでさらに描画処理。
            //別のクラスにSystem.Drawing.Printing.PrintPageEventArgsを渡して
            //処理させてもいいかもね
        }

        //プレビューボタン
        private void button2_Click(object sender, EventArgs e)
        {
            this.printPreviewDialog1.Document = this.printDocument1;
            this.printPreviewDialog1.ShowDialog();
        }
    }
}

実際にプレビューだしてみるとこんな感じ
イメージ 2

プレビューダイアログの大きさを変えたい場合、
this.printPreviewDialog1.Width = 600;
this.printPreviewDialog1.Height = 800;
って感じで大きさを指定したらその大きさになります。



閉じる コメント(0)

コメント投稿

顔アイコン

顔アイコン・表示画像の選択

名前パスワードブログ
絵文字
×
  • オリジナル
  • SoftBank1
  • SoftBank2
  • SoftBank3
  • SoftBank4
  • docomo1
  • docomo2
  • au1
  • au2
  • au3
  • au4
投稿

.


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事