如何将Winforms DataGrid打印到纸张上?(How can I print Winforms DataGrid to paper?)
如何将System.Windows.Forms.DataGrid打印到纸张上? 我在C#中使用.NET 3.5框架
How can I print a System.Windows.Forms.DataGrid to paper? I'm using .NET 3.5 framwork in C#
最满意答案
下面是使用System.Drawing.Printing.PrintDocument类的示例(不完整,但显示如何将所有内容连接在一起):
public class MyForm : Form { DataGrid dataGrid1 = new DataGrid(); Button printGrid = new Button(); PrintDocument printDocument1 = new PrintDocument(); public MyForm() { printGrid.Click += new EventHandler(printGrid_Click); printDocument1.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage); } private void printGrid_Click(System.Object sender, System.EventArgs e) { printDocument1.Print(); } private void printDocument1_PrintPage(System.Object sender, System.Drawing.Printing.PrintPageEventArgs e) { PaintEventArgs myPaintArgs = new PaintEventArgs(e.Graphics, new Rectangle(new Point(0, 0), this.Size)); this.InvokePaint(dataGrid1, myPaintArgs); } }Here is an example using the System.Drawing.Printing.PrintDocument class (not complete, but shows how to wire everything together):
public class MyForm : Form { DataGrid dataGrid1 = new DataGrid(); Button printGrid = new Button(); PrintDocument printDocument1 = new PrintDocument(); public MyForm() { printGrid.Click += new EventHandler(printGrid_Click); printDocument1.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage); } private void printGrid_Click(System.Object sender, System.EventArgs e) { printDocument1.Print(); } private void printDocument1_PrintPage(System.Object sender, System.Drawing.Printing.PrintPageEventArgs e) { PaintEventArgs myPaintArgs = new PaintEventArgs(e.Graphics, new Rectangle(new Point(0, 0), this.Size)); this.InvokePaint(dataGrid1, myPaintArgs); } }更多推荐
发布评论