Chart图表打印
2013-01-08 15:23 张瀚文zhw 阅读(1873) 评论(1) 编辑 收藏 举报在 Windows 窗体的图表控件中,可以打印图表图片。 若要执行此操作,请使用图表控件的 Printing 属性。 该对象用于打印当前数据视图上所有图表控件的元素(滚动条除外)。
可以调用“打印”对话框,也可以在后台打印。 在 Printing 对象中,使用 PrintDocument 属性可以设置打印属性(如页边距)。
如果要打印的图表图片所在的文档还包含其他文档元素,请在 PrintPageEventHandler 内调用 PrintPaint 方法。 必须将 PrintPageEventArgs 对象的 Graphics 属性以及用于定义图表图片在文档中的位置的 Rectangle对象,一起传递给 PrintPaint 方法。
下面的代码演示打印文档中的一行文本,然后打印图表图片,最后打印另一行文本。
// 创建新的PrintDocument System.Drawing.Printing.PrintDocument pd = new System.Drawing.Printing.PrintDocument(); // 添加一个PrintPageEventHandler的文档 pd.PrintPage += new PrintPageEventHandler(pd_PrintPage); // 打印文档 pd.Print(); ... private void pd_PrintPage(object sender, PrintPageEventArgs ev) { // 创建并初始化打印字体 System.Drawing.Font printFont = new System.Drawing.Font("Arial", 10); // 创建矩形结构,用于设置图表矩形的位置 myRec = new System.Drawing.Rectangle(10, 30, 150, 150); // 绘制一行文本,图表,然后另一行文字 ev.Graphics.DrawString("Line before chart", printFont, Brushes.Black, 10, 10); chart1.Printing.PrintPaint (ev.Graphics, myRec); ev.Graphics.DrawString("Line after chart", printFont, Brushes.Black, 10, 200); }