Como: Criar trabalhos de impressão padrão do Windows Forms
O fundamento da impressão nos Formulários do Windows é o componente PrintDocument — mais especificamente, o evento PrintPage.Ao escrever código para manipular o evento PrintPage, você pode especificar o que imprimir e como imprimir.
Para criar um trabalho de impressão
Adicione um componente PrintDocument ao seu formulário.
Escreva código para manipular o evento PrintPage.
Você deverá codificar sua própria lógica de impressão.Além disto, você deverá especificar o material a ser impresso.
No código exemplo a seguir, uma amostra de gráfico na forma de um retângulo vermelho criado no manipulador de eventos PrintPage para atuar como material a ser impresso.
Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage e.Graphics.FillRectangle(Brushes.Red, New Rectangle(500, 500, 500, 500)) End Sub
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { e.Graphics.FillRectangle(Brushes.Red, new Rectangle(500, 500, 500, 500)); }
private void printDocument1_PrintPage(Object sender, System.Drawing.Printing.PrintPageEventArgs e) { e.get_Graphics().FillRectangle(Brushes.get_Red(), new Rectangle(500, 500, 500, 500)); }
private: void printDocument1_PrintPage(System::Object ^ sender, System::Drawing::Printing::PrintPageEventArgs ^ e) { e->Graphics->FillRectangle(Brushes::Red, Rectangle(500, 500, 500, 500)); }
(Visual C#, Visual J# e Visual C++) Coloque o seguinte código no construtor do formulário para registrar o manipulador de eventos.
this.printDocument1.PrintPage += new System.Drawing.Printing.PrintPageEventHandler (this.printDocument1_PrintPage);
this.printDocument1.add_PrintPage(new System.Drawing.Printing.PrintPageEventHandler (this.printDocument1_PrintPage));
printDocument1->PrintPage += gcnew System::Drawing::Printing::PrintPageEventHandler (this, &Form1::printDocument1_PrintPage);
Convém também escrever código para os eventos BeginPrint e EndPrint, talvez incluindo um inteiro representando o número total de páginas a serem impressas, que é decrementado cada vez que uma página é impressa.
Observação: Você pode adicionar um PrintDialog componente ao seu formulário para fornecer uma interface limpa e eficiente do usuário (UI) para os usuários. Definir a propriedade Document do componente PrintDialog permite que você defina propriedades relacionadas ao documento de impressão com que você está trabalhando no seu formulário.Para mais informações sobre o componente PrintDialog. consulte O componente de PrintDialog (Windows Forms).
Para mais informações sobre as especificidades dos trabalhos de impressão dos Formulários do Windows, inclusive como criar um trabalho de impressão via programação, consulte PrintPageEventArgs.