C#如何打印窗体

using System; 
using System.Windows.Forms; 
using System.Drawing; 
using System.Drawing.Printing; 

public class Form1 : 
Form 
{//实现C#打印窗体 
private Button printButton = new Button(); 
private PrintDocument printDocument1 = new PrintDocument(); 

public Form1() 

printButton.Text = "Print Form"; 
printButton.Click += new EventHandler(printButton_Click); 
printDocument1.PrintPage +=  
new PrintPageEventHandler(printDocument1_PrintPage); 
this.Controls.Add(printButton); 


void printButton_Click(object sender, EventArgs e) 

CaptureScreen(); 
printDocument1.Print(); 

//实现C#打印窗体 
Bitmap memoryImage; 

private void CaptureScreen() 

Graphics myGraphics = this.CreateGraphics(); 
Size s = this.Size; 
memoryImage = new Bitmap(s.Width, s.Height, myGraphics); 
Graphics memoryGraphics = Graphics.FromImage(memoryImage); 
memoryGraphics.CopyFromScreen( 
this.Location.X, this.Location.Y, 0, 0, s); 


private void printDocument1_PrintPage(System.Object sender,    
System.Drawing.Printing.PrintPageEventArgs e) 

e.Graphics.DrawImage(memoryImage, 0, 0); 


   //实现C#打印窗体 

public static void Main() 

Application.Run(new Form1()); 

}

posted @ 2013-04-22 15:20  wonglou  阅读(1199)  评论(0编辑  收藏  举报