【发布时间】:2016-08-21 00:36:46
【问题描述】:
现在,代码正在遍历每个打印机源以获取纸张源名称Tray 2
有没有更快的方法而不是循环遍历所有源?打印速度很慢,因为我相信代码每次都在与打印机进行通信。由于这是一台网络打印机,打印可能需要一分钟!
我能想到的一个解决方案是将所有纸源加载到一个数组中,然后找到Tray 2,但我不知道该怎么做。
另一种解决方案是使用Tray 2 直接打印到源名称,但如何?
下面的代码是我们目前拥有的:
private void reportPrintingSystem_StartPrint(object sender, PrintDocumentEventArgs e)
{
for (int i = 0; i < e.PrintDocument.PrinterSettings.PaperSources.Count; i++)
if (e.PrintDocument.PrinterSettings.PaperSources[i].SourceName.Equals("Tray 2"))
{
e.PrintDocument.DefaultPageSettings.PaperSource = e.PrintDocument.PrinterSettings.PaperSources[i];
e.PrintDocument.PrinterSettings.Copies = 1;
break;
}
}
【问题讨论】: