winform简单打印

 

首先新建一个winform

添加winform中自带的打印控件

winform中有默认的打印控件

  1.按图片内容将控件拖拽到form中!

  2.然后将pageSetupDialog1,printDialog1,printPreviewDialog1三个控件中的Document属性指定到printDocument1

  3.在printDocument1中用到了PrintPage事件,然后其他就是button的按钮事件了

后台代码文件:

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

        //打印设置
        private void button2_Click(object sender, EventArgs e)
        {
            this.pageSetupDialog1.ShowDialog(); 
            
        }

        //打印预览
        private void button3_Click(object sender, EventArgs e)
        {
            this.printPreviewDialog1.ShowDialog(); 
        }

        //打印容器设置
        private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            //打印内容 为 整个Form
            //Image myFormImage;
            //myFormImage = new Bitmap(this.Width, this.Height);
            //Graphics g = Graphics.FromImage(myFormImage);
            //g.CopyFromScreen(this.Location.X, this.Location.Y, 0, 0, this.Size);
            //e.Graphics.DrawImage(myFormImage, 0, 0);

            //打印内容 为 局部的 this.groupBox1

            Bitmap _NewBitmap = new Bitmap(panel1.Width - 2, panel1.Height - 20);
            panel1.DrawToBitmap(_NewBitmap, new Rectangle(0, 0, _NewBitmap.Width, _NewBitmap.Height));
            e.Graphics.DrawImage(_NewBitmap, 0, 0, _NewBitmap.Width, _NewBitmap.Height);

            //打印内容 为 自定义文本内容 
            //Font font = new Font("宋体", 12);
            //Brush bru = Brushes.Blue;
            //for (int i = 1; i <= 5; i++)
            //{
            //    e.Graphics.DrawString("Hello world ", font, bru, i * 20, i * 20);
            //}
        }

 

posted @ 2016-04-05 11:24  诸葛风流  阅读(7749)  评论(0编辑  收藏  举报