//打印前必须拉取printDocument ,pageSetupDialog,printDialog,printPreviewDialog 控件
///
/// 打印设置
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
pageSetupDialog1.PageSettings =new System.Drawing.Printing.PageSettings();
pageSetupDialog1.Document = printDocument1;
this.pageSetupDialog1.ShowDialog();
}
/// <summary>
/// 打印预览
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button3_Click(object sender, EventArgs e)
{
this.printPreviewDialog1.Document = this.printDocument1;//要选择你要打印的内容,不然设置没用
this.printPreviewDialog1.ShowDialog();
}
/// <summary>
/// 打印
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_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)
{
//打印内容 为 局部的 this.plmd(要打印的panel)
Bitmap _NewBitmap = new Bitmap(plmd.Width, plmd.Height);
plmd.DrawToBitmap(_NewBitmap, new Rectangle(0, 0, _NewBitmap.Width, _NewBitmap.Height));
e.Graphics.DrawImage(_NewBitmap, 0, 0, _NewBitmap.Width, _NewBitmap.Height);
}
///出处参考百度各位大牛总结的,若有侵权联系删除