PrintPreviewDialog 跳转到显示的最后一页

PrintPreviewDialog jumps to last page shown

我在 C# 中有一个 Windows 表单应用程序,并且正在使用 PrintPreviewDialog。我的多页文档正确显示了每一页,在对话框中,我可以单击右上角的页码选择器来更改我正在查看的页面。

现在,当我在不打印的情况下关闭此对话框,并尝试在同一组数据上再次 运行 相同的对话框时,该对话框重新打开并显示我关闭时所在的最后页码它。

问题:如何使打印预览对话框在打开时显示第一页,这样用户就不必手动将其回滚到第一页?

具体细节: System.Windows.Forms.PrintPreviewDialog 已从工具拖到设计视图中的窗体上。 使用 Visual Studio Community 2015 版本 14.0.25431.01 更新 3 .NET 框架版本 4.6.01586

提前感谢您抽出宝贵时间提供帮助。我是一名学生,4 周前才开始学习 C#,9 周前才开始学习 .NET,但 30 多年来一直使用其他形式的 Basic 进行编程。

不确定这是否是最佳解决方案,但它确实有效。在将文档分配给我的 PrintPreviewDialog 对象之前,我创建了一个新的对象并使用旧变量引用它:

ppdPrinter = new PrintPreviewDialog();

其中 ppdPrinter 是在设计视图中创建的控件的名称。我不喜欢它必须创建打印预览对话框的新实例才能工作,但为了其他人的利益,我会将我自己的问题标记为已回答。

我已经尝试处理该对象,在分配它之前将文档设置为 null,并查看 document.PrintSettings 中的任何选项,这是我能想到的最好的方法。

我欢迎任何不为每个打印作业创建新 PPD 对象的解决方案。