第一步:向窗体拖放三个打印组件printDialog1,printPreviewDialog1,printDocument1;
第二步:注册打印的button事件
private void button1_Click(object sender, EventArgs e)
{
printDialog1.ShowDialog();
printPreviewDialog1.Document = this.printDocument1;
printPreviewDialog1.ShowDialog();
}
第三步:注册printDocument1组件的打印 PrintPage事件。
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
int x = 0; //开始打印位置
int y = 0;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
try
{
Font drawFont = new Font("Arial", 10); //字体设置
e.Graphics.DrawString(dataGridView1.Rows[i].Cells[j].Value.ToString(), drawFont,Brushes.Blue,x,y);
x = x + 60; //宽度设置
}
catch(Exception){} //当遇到空值是发生。
}
x = 0;
y += 40; //行高
}
}
第二步:注册打印的button事件
private void button1_Click(object sender, EventArgs e)
{
printDialog1.ShowDialog();
printPreviewDialog1.Document = this.printDocument1;
printPreviewDialog1.ShowDialog();
}
第三步:注册printDocument1组件的打印 PrintPage事件。
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
int x = 0; //开始打印位置
int y = 0;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
try
{
Font drawFont = new Font("Arial", 10); //字体设置
e.Graphics.DrawString(dataGridView1.Rows[i].Cells[j].Value.ToString(), drawFont,Brushes.Blue,x,y);
x = x + 60; //宽度设置
}
catch(Exception){} //当遇到空值是发生。
}
x = 0;
y += 40; //行高
}
}