Printvisual CopyCount属性不起作用

时间:2014-03-26 16:53:16

标签: c# wpf printing

我正在尝试设置要打印的副本数量,但这不是工作吗?它总是打印一份。

我尝试了这两个属性:

dlg.PrintQueue.DefaultPrintTicket.CopyCount = 3;
dlg.PrintTicket.CopyCount = 3;

我在WPF中使用PrintVisual方法。

2 个答案:

答案 0 :(得分:0)

您需要从头开始构建新的队列和故障单,或者您可以这样做。这种方式会容易得多。

var printDialog = new PrintDialog();
printDialog.PrintTicket.CopyCount = numCopies;

if (printDialog.ShowDialog() == false)
{
    return;
}

注意:请记住,在打印对话框上单击“确定”之前,需要先设置所有内容。这是有道理的,否则不道德的人会让他们的程序打印1000份副本只是为了搞笑,当用户只想到他们打印一份时。

答案 1 :(得分:0)

经过几年再次讨论这个问题,我终于找到了解决这个问题的方法。

您只需在CopyCount内的DefaultPrintTicket对象上设置PrintQueue属性:

dlg.PrintQueue.DefaultPrintTicket.CopyCount = 3;

然后将此PrintTicket对象分配给PrintDialog.PrintTicket属性:

dlg.PrintTicket = dlg.PrintQueue.DefaultPrintTicket;

完成!