【发布时间】:2015-05-29 09:16:39
【问题描述】:
我设置了一个简单的打印解决方案,并且正常打印工作正常(测试了几次),但是当我使用 PrintDialog 指定自定义页面范围时,就好像该范围是 ingored。当我调试时,我检查了 printDocument 对象并确认范围值是正确的,但打印机产生的最终产品与我给它的值相差不大。
这是我的代码:
printDialog.Document = printdoc;
printDialog.AllowSomePages = true;
if (printDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
printdoc.PrinterSettings.FromPage = printDialog.PrinterSettings.FromPage;
printdoc.PrinterSettings.ToPage = printDialog.PrinterSettings.ToPage;
printdoc.PrinterSettings.PrintRange = printDialog.PrinterSettings.PrintRange;
printPreviewDialog.Document = printdoc;
printPreviewDialog.FindForm().WindowState = FormWindowState.Maximized;
printPreviewDialog.ShowDialog();
}
*注意 - printdoc 是 System.Drawing.Printing.PrintDocument 的一个实例。我在 PrintDocument 的 PrintPage 事件处理程序中添加了代码来填充我正在打印的页面。
【问题讨论】:
-
什么是
printdoc?你在哪里调用你的printDialog.Print___函数?您遗漏了一些可能很重要的细节。 -
它是 System.Drawing.Printing.PrintDocument 的一个实例。我在 PrintDocument 的 PrintPage 事件处理程序中添加了代码来填充我正在打印的页面。对不起,我应该把它包含在我的 OP 中。
标签: c# printing printdialog