读书人

打印旋钮为何无效

发布时间: 2012-09-27 11:11:17 作者: rapoo

打印按钮为何无效
private void button1_Click(object sender, EventArgs e)
{
xs();
dataGridView1.Name = "学生信息表";
}

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Font f = new Font("宋体", 15);
Font f1 = new Font("宋体", 10);
e.Graphics.DrawString(dataGridView1.Name.ToString(), f, Brushes.Red, 300, 100);


int x = 0;
foreach (DataGridViewColumn dc in dataGridView1.Columns)
{
e.Graphics.DrawString(dc.HeaderText, f1, Brushes.Black, 100 + x, 200);
x = x + dc.Width;
}
int y = 250;

foreach (DataGridViewRow dr in dataGridView1.Rows)
{
x = 0;
foreach (DataGridViewCell dgvc in dr.Cells)
{ //对当前行中的每一个单元格
if (dgvc.ValueType.ToString() == "System.DateTime")
{
e.Graphics.DrawString(dgvc.Value.ToString().Substring(0, 9), f1, Brushes.Black, 100 + x, y); 点击打印按钮后总是提示“未将对象引用设置到对象的实例。” }
else
e.Graphics.DrawString(dgvc.Value.ToString(), f1, Brushes.Black, 100 + x, y);

x = x + dataGridView1.Columns[dgvc.ColumnIndex].Width;


}
y = y + dr.Height;
}
}

private void button2_Click(object sender, EventArgs e)
{
printPreviewDialog1.ShowDialog();
}

我已经添加了printDialog1, printDocument1, printPreviewDialog1这三个打印相关控件
而且printDialog1, printPreviewDialog1得Dcoment属性对应了printDocument1


[解决办法]
单步检查dgvc.Value值长度
判断哪个值为null


[解决办法]
检查 dgvc.Value.ToString().Substring(0, 9)
[解决办法]
检查dgvc.Value必定有null的

读书人网 >VB Dotnet

热点推荐