首先新建一個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); //} }