Visão geral do controle PrintPreviewDialog (Windows Forms)
O controle PrintPreviewDialog do Windows Forms é uma caixa de diálogo pré-configurada usada para exibir como um PrintDocument será exibido 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 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. O anti-aliasing pode fazer com que o texto pareça mais suave, mas também pode tornar a exibição mais lenta; para usá-la, defina a propriedade UseAntiAlias como true
.
Determinadas propriedades que o PrintPreviewDialog contém estão disponíveis por meio do PrintPreviewControl. (Você não precisa adicionar esse PrintPreviewControl ao formulário; ele é automaticamente contido no PrintPreviewDialog quando você adiciona a caixa de diálogo ao formulário.) Exemplos de propriedades disponíveis por meio do PrintPreviewControl são as propriedades Columns 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 do PrintPreviewDialog
Nas seguintes condições, o controle PrintPreviewDialog inicializa muito lentamente:
- Uma impressora de rede é usada.
- As preferências do usuário para essa impressora, como configurações duplex, são modificadas.
Para aplicativos em execução no .NET Framework 4.5.2, você pode adicionar a seguinte chave à seção <appSettings> do arquivo de configuração para melhorar o desempenho da inicialização do controle PrintPreviewDialog:
<appSettings>
<add key="EnablePrintPreviewOptimization" value="true" />
</appSettings>
Se a chave EnablePrintPreviewOptimization
estiver definida como qualquer outro valor ou se a chave não estiver presente, a otimização não será aplicada. Essa chave não terá efeito se o aplicativo estiver em execução no .NET Framework 4.6 ou posterior.
Para aplicativos em execução no .NET Framework 4.6 ou versões posteriores, você pode adicionar a seguinte alternativa ao elemento <AppContextSwitchOverrides> na seção <runtime> do arquivo de configuração do aplicativo:
<runtime >
<!-- AppContextSwitchOverrides values are in the form of 'key1=true|false;key2=true|false -->
<AppContextSwitchOverrides value = "Switch.System.Drawing.Printing.OptimizePrintPreview=true" />
</runtime >
Se a opção não estiver presente ou se estiver definida como qualquer outro valor, a otimização não será aplicada.
Se você usar o evento QueryPageSettings para modificar as configurações da impressora, o desempenho do controle PrintPreviewDialog não melhorará mesmo se um comutador de configuração de otimização estiver definido.
Consulte também
- PrintPreviewDialog
- Visão geral do controle PrintPreviewControl
- controle PrintPreviewDialog
- controles e componentes Dialog-Box
.NET Desktop feedback