JLDR Posted January 11, 2007 at 08:20 PM Report #75791 Posted January 11, 2007 at 08:20 PM Boas. Alguém me sabe dizer como faço para adicionar mais do que uma página para imprimir? O que eu queria mesmo era algo do género: - Na primeira página imprimir o texto "Página 1" - Na segunda página imprimir o texto "Página 2" e depois num PrintPreviewDialog poder circular entre as páginas. Peço ajuda a quem souber... Cumps 🙂 <p style="text-align: center">Visita o site em <a class="bbc_url" href="http://www.sys4soft.com" rel="nofollow external" title="Link Externo">www.sys4soft.com</a> e subscreve o canal do YouTube.</p> <p style="text-align: center"><span style="font-size: 12px;">"Mais importante que saber muito é saber aplicar o pouco que se sabe."</span></p>
killercode Posted January 12, 2007 at 10:32 AM Report #75869 Posted January 12, 2007 at 10:32 AM no metodo printDocument_PrintPage(object sender, System.Drawing.Printing.PrintPAgeEventArgs e) tens de definir isto e.HasMorePages = true or false atenção... aconselho-te a trabalhares com contadores comuns a classe para não perderes o fio a meada porq quando metes isso ele limita-se a imprir ate e.HasMorePAges = false. Geek PressWeboeste.Com
JLDR Posted January 12, 2007 at 04:29 PM Author Report #75931 Posted January 12, 2007 at 04:29 PM Cumps Bem, eu sabia que tinha que meter o HasMorePages pelo meio, até já estive a ver exemplos disso, mas ainda não consegui perceber a dinâmica da rotina. O que eu queria era, por exemplo, colocar uma frase na página 1 e outra frase na página 2. Para experimentar o sistema escrevi o seguinte código em que Documento1 é um objecto PrintDocument e Prever é um PrintPreviewDialog: Public Class Form1 Dim a As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click a = 1 Prever.Document = Documento1 Prever.Show() End Sub Private Sub Documento1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles Documento1.PrintPage Dim f As New Font("Verdana", 20) If a = 1 Then e.Graphics.DrawString("Texto página 1", f, Brushes.Black, 100, 100) a = a + 1 e.HasMorePages = True End If If a = 2 Then e.Graphics.DrawString("Texto página 2", f, Brushes.Black, 100, 100) e.HasMorePages = False Exit Sub End If End Sub End Class O resultado disto é que o PrintPreviewDialog mostra-me apenas uma página e as duas frases escritas uma por cima da outra literalmente. O que tenho de errado? <p style="text-align: center">Visita o site em <a class="bbc_url" href="http://www.sys4soft.com" rel="nofollow external" title="Link Externo">www.sys4soft.com</a> e subscreve o canal do YouTube.</p> <p style="text-align: center"><span style="font-size: 12px;">"Mais importante que saber muito é saber aplicar o pouco que se sabe."</span></p>
JLDR Posted January 12, 2007 at 04:31 PM Author Report #75932 Posted January 12, 2007 at 04:31 PM Ups! Já descobri!!! Faltava fazer um Exit Sub após e.HasMorePages=True... Obrigado na mesma. Cumps 🙂 <p style="text-align: center">Visita o site em <a class="bbc_url" href="http://www.sys4soft.com" rel="nofollow external" title="Link Externo">www.sys4soft.com</a> e subscreve o canal do YouTube.</p> <p style="text-align: center"><span style="font-size: 12px;">"Mais importante que saber muito é saber aplicar o pouco que se sabe."</span></p>
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now