PrintPreviewDialog 控制項概觀 (Windows Forms)

Windows Forms PrintPreviewDialog 控制項是預先設定的對話方塊,用來顯示列印時 PrintDocument 的顯示方式 。 在 Windows 應用程式內使用它作為簡單的解決方案,而不是設定您自己的對話方塊。 這個控制項包含列印、放大、顯示一或多頁及關閉對話方塊等按鈕。

索引鍵屬性和方法

控制項的索引鍵屬性是 Document ,它會設定要預覽的檔。 檔必須是 PrintDocument 物件。 若要顯示對話方塊,您必須呼叫其 ShowDialog 方法。 反鋸齒可讓文字看起來更流暢,但也可以讓顯示變慢:若要使用它,請將 UseAntiAlias 屬性設定為 true

某些屬性可透過 PrintPreviewControl 包含的 PrintPreviewDialog 取得。 (您不需要將此內容 PrintPreviewControl 新增至表單;當您將對話方塊新增至表單時,它會自動包含在 PrintPreviewDialog 內。透過 PrintPreviewControl 取得的屬性範例是 ColumnsRows 屬性,可決定控制項上水準和垂直顯示的頁數。 您可以在 Visual Basic、 printPreviewDialog1.PrintPreviewControl.Columns Visual C# 或 printPreviewDialog1->PrintPreviewControl->Columns Visual C++ 中存取 ColumnsPrintPreviewDialog1.PrintPreviewControl.Columns 屬性。

PrintPreviewDialog 效能

在下列情況下, PrintPreviewDialog 控制項會非常緩慢地初始化:

  • 使用網路印表機。
  • 修改此印表機的使用者喜好設定,例如雙工設定。

針對在 .NET Framework 4.5.2 上執行的應用程式,您可以將下列金鑰新增至 < 組態檔的 app設定 > 區段,以改善控制項初始化的 PrintPreviewDialog 效能:

<appSettings>
   <add key="EnablePrintPreviewOptimization" value="true" />
</appSettings>

EnablePrintPreviewOptimization如果索引鍵設定為任何其他值,或索引鍵不存在,則不會套用優化。 如果應用程式在 .NET Framework 4.6 或更新版本上執行,則此機碼沒有任何作用。

針對在 .NET Framework 4.6 或更新版本上執行的應用程式,您可以在應用程式組態檔的 < 運行 > 時間區段中,將下列參數新增至 < AppCoNtextSwitchOverrides > 元素:

<runtime >
   <!-- AppContextSwitchOverrides values are in the form of 'key1=true|false;key2=true|false -->
   <AppContextSwitchOverrides value = "Switch.System.Drawing.Printing.OptimizePrintPreview=true" />
</runtime >

如果參數不存在或設定為任何其他值,則不會套用優化。

如果您使用 QueryPageSettings 事件來修改印表機設定,即使已設定優化組態參數, PrintPreviewDialog 控制項的效能也不會改善。

另請參閱