首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PrinterSettings不接受副本的数量

PrinterSettings不接受副本的数量
EN

Stack Overflow用户
提问于 2014-11-24 16:04:46
回答 1查看 5K关注 0票数 2

我有一个关于PrinterSettings in C#的问题。当我在桌面打印机上将PrinterSettings.Copies设置为2时,它将打印2个文档。

但是,当我在Zebra GK420d Label printer上将副本设置为2时,我定义的拷贝数将被打印机覆盖,默认拷贝数。斑马打印机是唯一允许我在打印机设置(启动->设备和打印机->打印机属性)中定义副本数量的打印机。

但是,当我打开一个PrintDialog并将其中的拷贝数设置为2个时。但如果我按程序来做它就行不通了。以下是我的情况:

表单:打印机设置,当我加载表单时,将执行以下代码

代码语言:javascript
复制
ps_Current = new PrinterSettings();
ps_Current.PrinterName = cbPrinters.Text;

这是正确的,PrinterSettings变量被初始化,PrinterName被设置为我选择的打印机。然后,在副本的数量下,我有以下内容:

代码语言:javascript
复制
ps_Current.Copies = (short)seAantalKopieen.Value;

这也是正确的(除了斑马打印机以外的所有打印机)。不知何故,斑马打印机采用默认打印机设置,而不是我使用代码放入的打印机设置。

当我将代码更改为:

代码语言:javascript
复制
PrintDialog PD = new PrintDialog();
PD.PrinterSettings = ps_Current;
PD.ShowDialog();    
ps_Current = PD.PrinterSettings;

这将给我一个PrintDialog屏幕,在那里我可以选择打印机和拷贝的数量。如果我在这里选择斑马打印机,并将副本更改为2,它将工作。但是我不想使用PrintDialog,我只想使用我自己的打印对话框:

代码语言:javascript
复制
Printer:
Source:
Amount of copies:

但我不能让它起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-18 05:32:35

当您调用PD.ShowDialog()时,您允许用户更改他们想要的任何设置。当用户单击OK打印文档时,他们选择的设置将更新PD.PrinterSettings。您应该可以通过以下操作打印两份:

代码语言:javascript
复制
PrintDialog PD = new PrintDialog();
PD.ShowDialog();    
ps_Current = PD.PrinterSettings;
// Essentially you override what the user chose, which can be frustrating for the user.
ps_Current.Copies = (short)seAantalKopieen.Value;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27109035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档