none
como imprimir uma área especifica do formulário? RRS feed

  • Pergunta

  •  bom dia pessoal, estou a desenvolver uma aplicação e gostaria de impripri uma área especifica do meu formulário, mas não sei fazer, o método que utilizo imprimi toda o formulário incluindo os controles 
    sexta-feira, 22 de julho de 2016 11:50

Respostas

  • Bom dia Arlindo António,

    Você precisará adaptar os exemplos a sua necessidade.

    Com Windows Forms, quase todos os controles podem ser transformados em imagem (e portanto impressos) usando o método DrawToBitmap. Você também poderia estudar a respeito do namespace System.Drawing.Printing.
    Você encontrará mais informações muito interessantes sobre como imprimir uma parte do Form nessa thread.

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 26 de julho de 2016 12:51
    Moderador

Todas as Respostas

  • Boa tarde Arlindo António,

    Obrigado por sua participação no Fórum MSDN.

    Você precisará utilizar a classe "System.Drawing.Printing.PrintDocument". O código abaixo é apenas um exemplo, talvez você precise adapta-lo conforme sua necessidade.

    private void button1_Click(object sender, EventArgs e)
        {
            PrintDocument doc = new PrintDocument();
            doc.PrintPage += this.Doc_PrintPage;
            PrintDialog dlgSettings = new PrintDialog();
            dlgSettings.Document = doc;
            if (dlgSettings.ShowDialog() == DialogResult.OK)
            {
                doc.Print();
            }
        }
    
    
    private void Doc_PrintPage(object sender, PrintPageEventArgs e)
        {
            float x = e.MarginBounds.Left;
            float y = e.MarginBounds.Top;
            Bitmap bmp = new Bitmap(this.groundBox1.Width, this.groupBox1.Height);
            this.groupBox.DrawToBitmap(bmp, new Rectangle(0, 0, this.groupBox1.Width, this.groupBox1.Height));
            e.Graphics.DrawImage((Image)bmp, x, y);
        }

    Atenciosamente,

    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    sexta-feira, 22 de julho de 2016 18:07
    Moderador
  • boa tarde, eu estou a fazer a minha aplicação em visual basic e o código que imprime esta imagem é:

    printForm1.print

    e na propriedade é:

    printForm1 em printAction =printToPreview


    sexta-feira, 22 de julho de 2016 18:23
  • Bom dia pessoal alguém pode me ajudar a resolver este problema?

    segunda-feira, 25 de julho de 2016 14:49
  • Bom dia Arlindo António,

    Você precisará adaptar os exemplos a sua necessidade.

    Com Windows Forms, quase todos os controles podem ser transformados em imagem (e portanto impressos) usando o método DrawToBitmap. Você também poderia estudar a respeito do namespace System.Drawing.Printing.
    Você encontrará mais informações muito interessantes sobre como imprimir uma parte do Form nessa thread.

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 26 de julho de 2016 12:51
    Moderador
  • Bom dia Robson,

    tem como deixar este pergunta em aberto para ver se algum pode me ajudar a selecionar o meu problema?

    estou precisando de ajuda com urgência, ele imprime só pela metade conforme a imagem postado no inicio  

    segunda-feira, 22 de agosto de 2016 11:48