当我通过以下方式将PrintDocument对象设置为横向时:PrintPage方法e.PageSettings.landscape =真实。如果我将其发送到打印机,则可以正常工作。但在PrintPreviewControl上,它仍保持纵向。我找不到改变页面大小的方法或方向直接在PrintPreviewControl中。我试图设置PrintDocument.DefaultPageSettings.Landscape = true,但这也无济于事。
'''私有子pDocument_PrintPage(作为对象发送,作为Printing.PrintPageEventArgs发送)处理pDocument.PrintPage
Select Case QuryRep.ReportStyle ' only have one report style, reserved for custom reporting for each customer.
Case 0 ' standard report format
StandardReport(e)
End Select
' isLandscape is a public variable set by the standardReport() sub
e.PageSettings.Landscape = isLandscape
End Sub
'''
我能够解决此问题。一旦将打印对象链接到预览控件,就无法更改宽度或高度或其他页面属性。该属性将更改,但打印预览控件将不会对其做出响应。我试图以多种不同方式刷新控件,但没有任何效果。但是,如果将其发送到打印机,则可以在打印过程中更改这些设置,然后打印机将响应。我的解决方法不是最佳解决方案,而是我能找到的唯一解决方案。是要创建一个新的打印对象和一个新的打印预览控件,然后从中获取所需的信息。然后销毁此控件,并配置新的打印对象,然后将其链接到预览控件。如果有人有更好的方法,请告诉我。