一、放三个有关打印的控件 printDialog、printDocument、printPreview Dialog 二、设置 printPreview Dialog 控件的 Document 属性,该属性一般会设置为 printDocument 控件 三、写 printDocument 中的 PrintPage 事件,在该事件设置打印的位置和样式 例如: 1、从控件中取出数据放入 DataTable DataTable objDataTable = (DataTable)this.dataGridView 1.DataSource; 2、设置打印时的横坐标和纵坐标 int StartX = 0; int StartY = 120; 3、设置标题的内容、字体、字体大小、颜色、坐标位置 e.Graphics.Draw String("广东步步高电子工业有限公司出库批次情况", new Font("Arial", 20), Brushes.Black, 100, 40); e.Graphics.Draw String(" 打 印 时 间 : " + DateTime.Now .ToString(), new Font("Arial", 8), Brushes.Red, 560, 100); e.Graphics.Draw String(" 单 号 ", new Font("Arial", 10), Brushes.Red, StartX, StartY); e.Graphics.Draw String("批号", new Font("Arial", 10), Brushes.Red, StartX + 95, StartY); e.Graphics.Draw String("区域编号", new Font("Arial", 10), Brushes.Red, StartX + 190, StartY); e.Graphics.Draw String("品种", new Font("Arial", 10), Brushes.Red, StartX + 285, StartY); e.Graphics.Draw String("规格", new Font("Arial", 10), Brushes.Red, StartX + 380, StartY); e.Graphics.Draw String("计划发货数", new Font("Arial", 10), Brushes.Red, StartX + 475, StartY); e.Graphics.Draw String("实际发货数", new Font("Arial", 10), Brushes.Red, StartX + 570, StartY); e.Graphics.Draw String("发货日期", new Font("Arial", 10), Brushes.Red, StartX + 665, StartY); e.Graphics.Draw String("员工编号", new Font("Arial", 10), Brushes.Red, StartX + 760, StartY); 4、从 DataTable 中读出数据 for (int row = 0; row < objDataTable.Row s.Count; row ++) { DataRow objDataRow = objDataTable.Rows[row]; for (int i = 0; i < objDataTable.Columns.Count; i++) { e.Graphics.DrawString(objDataRow[i].ToString(), new Font("Arial", 9), Brushes.Black, StartX, StartY + 50); ...