Partilhar via


Visão geral do controle PrintPreviewDialog (Windows Forms)

O controle Windows Forms PrintPreviewDialog é uma caixa de diálogo pré-configurada usada para exibir como um PrintDocument aparece quando impresso. Use-o em seu aplicativo baseado no Windows como uma solução simples em vez de configurar sua própria caixa de diálogo. O controle contém botões para imprimir, ampliar, exibir uma ou várias páginas e fechar a caixa de diálogo.

Principais propriedades e métodos

A propriedade de chave do controle é Document, que define o documento a ser visualizado. O documento deve ser um objeto PrintDocument. Para exibir a caixa de diálogo, você deve chamar seu método ShowDialog. A suavização pode fazer com que o texto pareça mais suave, mas também pode reduzir a velocidade de exibição; para usá-la, defina a propriedade UseAntiAlias para true.

Algumas propriedades estão disponíveis através do PrintPreviewControl, que o PrintPreviewDialog contém. (Você não precisa adicionar PrintPreviewControl ao formulário; ele está automaticamente contido no PrintPreviewDialog quando você adiciona a caixa de diálogo ao formulário.) Exemplos de propriedades disponíveis através do PrintPreviewControl são as Columns propriedades e Rows , que determinam o número de páginas exibidas horizontal e verticalmente no controle. Você pode acessar a propriedade Columns como PrintPreviewDialog1.PrintPreviewControl.Columns no Visual Basic, printPreviewDialog1.PrintPreviewControl.Columns no Visual C# ou printPreviewDialog1->PrintPreviewControl->Columns no Visual C++.

Desempenho de PrintPreviewDialog

Sob as seguintes condições, o PrintPreviewDialog controle inicializa lentamente:

  • Uma impressora de rede é usada.
  • As preferências do usuário para esta impressora, como as configurações de impressão frente e verso, são modificadas.

A otimização não será aplicada se você usar o evento para modificar as configurações da QueryPageSettings página.

Para aplicar a otimização, defina a opção de configuração de Switch.System.Drawing.Printing.OptimizePrintPreview tempo de execução como true.

A opção pode ser definida no arquivo de configuração runtimeconfig.json ou no arquivo de projeto de um aplicativo:

  • Configure um padrão no arquivo de projeto.

    Para aplicar a configuração no arquivo de projeto, habilite a geração de configuração de tempo de execução, definindo <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles> para um arquivo <PropertyGroup>. Em seguida, adicione a <RuntimeHostConfigurationOption> definição a um <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>
    
  • Configure um padrão no arquivo de origemruntimeconfig.template.json .

    Para definir a configuração padrão para seu aplicativo, aplique a configuração no arquivo de origemruntimeconfig.template.json . Quando o aplicativo é compilado ou publicado, o arquivo de modelo é usado para gerar um arquivo de configuração de tempo de execução.

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

    Para obter mais informações sobre a configuração do tempo de execução, consulte Definições de configuração do tempo de execução do .NET.

  • Configure um aplicativo publicado com o arquivo de saída {appname}.runtimeconfig.json .

    Para configurar a aplicação publicada, aplique a configuração na seção do arquivo runtimeOptions/configProperties.

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

    Para obter mais informações sobre a configuração do tempo de execução, consulte Definições de configuração do tempo de execução do .NET.

Ver também