我在Windows窗体的打印对话框中有以下代码。
myPrintDialog = new PrintDialog();
System.Drawing.Bitmap memoryImage = new System.Drawing.Bitmap(pnVTCard.Width, pnVTCard.Height);
pnVTCard.DrawToBitmap(memoryImage, pnVTCard.ClientRectangle);
if (myPrintDialog.ShowDialog() == DialogResult.OK)
{
System.Drawing.Printing.PrinterSettings values;
values = myPrintDialog.PrinterSettings;
myPrintDialog.Document = printDocument1;
printDocument1.PrintController = new StandardPrintController();
printDocument1.Print();//This line shows system.drawing invalid printer exception when i hover over the code.
saveToVC(Convert.ToInt32(cmbVID.SelectedItem.ToString()), cmbElectionName.SelectedItem.ToString());
}
printDocument1.Dispose();
public System.Drawing.Printing.PrintDocument printDocument1 { get; set; }
当我尝试处理异常时,它显示空引用。有人可以告诉你要纠正什么。 由于我对此不太了解,有人可以解释我在这里做错了什么。 pnVTcard是一个面板控件
答案 0 :(得分:1)
确保使用设置为对象实例的引用(听起来很熟悉?:))
在访问其属性之前,您可能没有设置printDocument1。或者也许是其他一些对象,比如那些cmb ... SelectedItem。
如果您仍然无法确定罪魁祸首,请继续使用断点并手动检查参考文献。