1、相关介绍:
用C#在开发程序时,往往会用到打印功能,本文介绍如果用C#实现DataGrid或DataGridView控件的打印功能,如下介绍所示:
1):首先,需要在界面上拖3个打印控件,如下所示:

2):其次,需要指定“pageSetupDialog1”的“Document”属性为“printDocument1”,另外,还有“printPreviewDialog1”的“Document”属性也要指定为“printDocument1”。
3):接下来,需要在打印按钮里添加以下代码:
以下是引用片段: if (ds.Tables[0].DefaultView.Count>0) { printPreviewDialog1.ShowDialog();//打印预览 } |
4):然后,需要为printDocument1_PrintPage添加以下代码:
以下是引用片段: private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { //设置字体 Font objFont = new Font("Tahoma", 11, FontStyle.Regular); Brush objBrush = Brushes.Black; Pen objPen = new Pen(objBrush); //设置边距 int nLeft = this.pageSetupDialog1.PageSettings.Margins.Left; int nTop = this.pageSetupDialog1.PageSettings.Margins.Top; int nWidth = this.pageSetupDialog1.PageSettings.PaperSize.Width - (this.pageSetupDialog1.PageSettings.Margins.Left + this.pageSetupDialog1.PageSettings.Margins.Right); int nHeigh = this.pageSetupDialog1.PageSettings.PaperSize.Height - (this.pageSetupDialog1.PageSettings.Margins.Top + this.pageSetupDialog1.PageSettings.Margins.Bottom); //打印出表头 e.Graphics.DrawString("表名称", new Font("Garamond", 20, FontStyle.Bold), Brushes.Blue, nLeft + 150, nTop + 10); try { int line = 1; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { for (int j = 0; j < ds.Tables[0].Columns.Count; j++) { e.Graphics.DrawString(ds.Tables[0].Rows[i][j].ToString(), objFont, objBrush, nLeft + 70*j, nTop + 80 + line * 30); } line++; } } catch (Exception ex) { MessageBox.Show(ex.Message); } } |
<责任编辑:计算机毕业设计网(http://www.xiaoniu168.com)>