none
imprimir do windows form RRS feed

  • Pergunta

  • como funciona o esquema de imprimir via windows form??

    tenho um form com um comobox e 2 text box,
    quero pegar a informação de ambos e imprimir,
    achei muito exemplo de impressão de imagem,

    tem alguma classe pronta que eu possa passar direto os itens a serem impressos, ou tenho que gerar um txt e depois pedir para imprimir o txt??
    segunda-feira, 27 de abril de 2009 17:42

Todas as Respostas

  • Olá

    Não, voce não precisa gerar um txt para imprimir.
    No seu caso, voce pode utilizar os componentes PrintDocument e PrintDialog (na seção Printing da Toolbox).

    1) Arraste os 2 componentes pro seu form.

    2) Clique 2x sobre o icone do PrintDocument e o VS gerará o event handler para o evento PrintPage:

    private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {
         // desenha uma string com o texto do seu textbox
         e.Graphics.DrawString(textbox1.Text, this.Font, Brushes.Black, new PointF(0, 0));
    
         // a mesma coisa para demais textboxes...
         // ...............
    
         // outro exemplo, desenhando uma elipse:
         e.Graphics.DrawEllipse(Pens.Black, e.MarginBounds);
    }

    3) Para imprimir chame o metodo Print() do PrintDocument no seu botao de impressao:

    private void BtnImprimir_Click(object sender, EventArgs e)
    {
         // chama caixa de dialogo para escolha da impressora 
         // se clicou OK entao imprime
         if (printDialog1.ShowDialog() == DialogResult.OK)
             printDocument1.Print();
    }
    É claro que estes componentes da seção Printing são bem simples e é preciso fazer tudo "no braço" desenhando na area de impressão com uso da classe Graphics (procure mais sobre a mesma para mais informações).

    Agora, para impressão utilizando um Preview mais profissional, onde vc monta seu relatorio de forma visual, voce pode optar pelo Report Viewer ou pelo Crystal Reports (inclusive há um forum especifico para eles - onde no tópico fixo há links para ótimos vídeos).

    Qqquer coisa, só postar.

    []s



    Robson Castilho - Desenvolvedor C# - MCTS .Net 2.0 Windows Applications
    terça-feira, 28 de abril de 2009 04:34
  • Filipibh,

    Se você precisa imprimir o formulário, você tambem pode usar o controle PrintForm do Visual Basic Power Packs 3.0 (http://msdn.microsoft.com/en-us/vbasic/bb735936.aspx). com esse controle, você poderá até solicitar um preview do formulário.

    Paa utilizar, basta instalar esse pacote e em seguida arrastar o controle PrintForm para o formulário que você quer imprimir. Em seguida, é só chamar o método PrintForm1.Print

    Segue um exemplo que utilizo:

    With

     

    PrintForm

    .Form =

    Me

    .PrinterSettings.DefaultPageSettings.Landscape =

    True

     

    Dim Marg As New System.Drawing.Printing.Margins

    Marg.Bottom = 1

    Marg.Left = 1

    Marg.Top = 1

    Marg.Right = 1

    .PrinterSettings.DefaultPageSettings.Margins = Marg

    .Print()

     

    End With

     

     



    Felippe Domingos
    quarta-feira, 29 de abril de 2009 03:17