共用方式為


PrintPreviewDialog 控制項概觀 (Windows Form)

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

關鍵屬性和方法

此控制項的關鍵屬性是 Document,它會設定要預覽的文件。 該文件必須是 PrintDocument 物件。 為了顯示該對話方塊,您必須呼叫其 ShowDialog 方法。 抗鋸齒可使文字看起來更平滑,但也會使顯示變得較慢;若要使用它,請將 UseAntiAlias 屬性設為 true

某些屬性可透過 PrintPreviewDialog 所包含的 PrintPreviewControl 取得。 (您不必將此 PrintPreviewControl 新增到表單中;當您將對話方塊新增至您的表單時,它會自動包含在 PrintPreviewDialog 中。)透過 PrintPreviewControl 可用的屬性範例包括 ColumnsRows 屬性,它們可決定控制項上水平和垂直顯示的頁數。 您可以在 Visual Basic 中以 PrintPreviewDialog1.PrintPreviewControl.Columns、在 Visual C# 中以 printPreviewDialog1.PrintPreviewControl.Columns 或在 Visual C++ 中以 printPreviewDialog1->PrintPreviewControl->Columns 形式存取 Columns 屬性。

PrintPreviewDialog 效能

在以下條件下,PrintPreviewDialog 控制項初始化速度非常慢:

  • 會使用網路印表機。
  • 會修改此印表機的使用者喜好設定 (例如雙面列印設定)。

對於在 .NET Framework 4.5.2 上執行的應用程式,您可以將以下索引鍵新增至組態檔的 <appSettings> 區段,以提高 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 控制項的效能也不會提高。

另請參閱