winform 打印


首先新建form

winform中有默認的打印控件

  1.按圖片內容將控件拖拽到form中!

  2.然后將pageSetupDialog1,printDialog1,printPreviewDialog1三個控件中的Document屬性指定到printDocument1

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

后台代碼文件:

 public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.printDocument1.OriginAtMargins = true;//啟用頁邊距
this.pageSetupDialog1.EnableMetric = true; //以毫米為單位

}

private void button1_Click(object sender, EventArgs e)
{
this.pageSetupDialog1.ShowDialog();

}

private void button2_Click(object sender, EventArgs e)
{
this.printPreviewDialog1.ShowDialog();

}

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

}

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(groupBox1.Width, groupBox1.Height);
groupBox1.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);
//}

}
}


這樣簡單的print功能就可以實現了!

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM