PrintPreviewDialog 控件概述(Windows 窗体)

Windows 窗体 PrintPreviewDialog 控件是一个预配置对话框,用于显示 PrintDocument 的打印效果。 在基于 Windows 的应用程序中将其用作简单解决方案,而不是配置自己的对话框。 该控件包含用于打印、放大、显示一页或多页以及关闭对话框的按钮。

主要属性和方法

控件的键属性 Document,用于设置要预览的文档。 文档必须是 PrintDocument 对象。 若要显示对话框,必须调用其 ShowDialog 方法。 抗锯齿可以使文本看起来更流畅,但它也可以使显示速度变慢:若要使用它,请将 UseAntiAlias 属性设置为 true

某些属性可以通过 PrintPreviewControl 包含的 PrintPreviewDialog 使用。 (您无需在窗体中添加PrintPreviewControl;当您向窗体中添加对话框时,它会自动包含在PrintPreviewDialog中。)可通过PrintPreviewControl获取的属性包括ColumnsRows属性,这些属性决定了控件上水平和垂直显示的页数。 可以将 Columns 属性作为 Visual Basic 中的 PrintPreviewDialog1.PrintPreviewControl.Columns、Visual C# 中的 printPreviewDialog1.PrintPreviewControl.Columns 或 Visual C++ 中的 printPreviewDialog1->PrintPreviewControl->Columns 进行访问。

PrintPreviewDialog 性能

在以下情况下,控件 PrintPreviewDialog 初始化缓慢:

  • 使用网络打印机。
  • 已经修改了此打印机的用户偏好设置,例如双面打印设置。

如果使用 QueryPageSettings 事件修改页面设置,则不会应用优化。

若要应用优化,请将 Switch.System.Drawing.Printing.OptimizePrintPreview 运行时配置选项设置为 true

可以在 runtimeconfig.json 配置文件或应用的项目文件中设置该选项:

  • 在项目文件中配置默认值。

    若要在项目文件中应用设置,请通过将<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>设置为<PropertyGroup>来启用运行时配置生成。 然后,将<RuntimeHostConfigurationOption>设置添加到<ItemGroup>:

    <Project Sdk="Microsoft.NET.Sdk">
    
      <!-- Other project settings ... -->
    
      <PropertyGroup>
        <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
      </PropertyGroup>
    
      <ItemGroup>
        <RuntimeHostConfigurationOption Include="Switch.System.Drawing.Printing.OptimizePrintPreview" Value="true" />
      </ItemGroup>
    
    </Project>
    
  • runtimeconfig.template.json 源文件中配置默认值。

    若要为应用配置默认设置,请在 runtimeconfig.template.json 源文件中应用该设置。 编译或发布应用时,模板文件用于生成运行时配置文件。

    {
      "configProperties": {
        "Switch.System.Drawing.Printing.OptimizePrintPreview": true
      }
    }
    

    有关运行时配置的详细信息,请参阅 .NET 运行时配置设置

  • 使用 {appname}.runtimeconfig.json 输出文件配置已发布的应用。

    若要配置已发布的应用,请在 {appname}.runtimeconfig.json 文件的 runtimeOptions/configProperties 节中应用设置。

    {
      "runtimeOptions": {
        "configProperties": {
          "Switch.System.Drawing.Printing.OptimizePrintPreview": true,
        }
      }
    }
    

    有关运行时配置的详细信息,请参阅 .NET 运行时配置设置

另请参阅