西地碘含片能吞口水吗:C#高手帮帮忙吧!打印出问题,说未将对象引用设置到对象的实例

来源:百度文库 编辑:中科新闻网 时间:2024/05/02 12:41:26
小弟下面是一段打印按钮的程序,我调试运行时出现“未将对象引用设置到对象的实例”错误,去掉捕捉异常之后,发现pageweight=p.Width;有问题,我想可能是P值在一开始给我赋了NULL值,我想把在赋初值时给它赋个有效的值,除了NULL之外还能赋什么值呢!在线等!救助救助!!!!
private void Bt_Print_Click(object sender, System.EventArgs e)
{
//try
//{
F_Print pt=new F_Print();
pt.ShowDialog();
PaperSize p=null;
foreach(PaperSize p1 in printDocument1.PrinterSettings.PaperSizes)
{
if (p1.PaperName.Equals("A4"))
{
p=p1;
break;
}
}
pageweight=p.Width;
if(pt.DialogResult==DialogResult.Yes)
{
printDocument1.DefaultPageSettings.PaperSize=p;
PrintPreviewDialog printPreviewDialog1=new PrintPreviewDialog();
printPreviewDialog1.Document=printDocument1;
printPreviewDialog1.ShowDialog();
}
else
if(pt.DialogResult==DialogResult.OK)
{
printDocument1.DefaultPageSettings.PaperSize=p;
PrintDialog dlg = new PrintDialog() ;
dlg.Document= printDocument1;
DialogResult result=dlg.ShowDialog();
if (result == DialogResult.OK)
{
printDocument1.Print();
}
}
else
if(pt.DialogResult==DialogResult.Retry)
{
F_Show f_show=new F_Show();
f_show.ShowDialog();
if(f_show.DialogResult==DialogResult.OK)
{//如果单击确定
Sql1="SELECT "+F_Show.Str1+" FROM";
Sql=Sql1+Sql2;
this.pictureBox1.Visible=false;
DataClass.DataGridShow(yzconn,Sql,ref Dg,ref dataset);
}
}
//}
//catch(Exception ex)
//{
// MessageBox.Show(ex.Message);
//}
}

给个缺省值,怎么样?

if (p == null) {
pageweight=400;
} else {
pageweight=p.Width;
}

兄弟太感谢你了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!真的行啊!!!!!!!!!!!!!!!!!!!!好高兴,我代表我们开发组谢谢你啊!过两天就交了,今天一接打印机就出问题了!不接就OK!谢谢谢谢!!!