Problème d'impression en VB.NET Double page

Rick38 Messages postés 8 Date d'inscription dimanche 16 septembre 2007 Statut Membre Dernière intervention 6 août 2008 - 3 juin 2008 à 03:40
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 3 juin 2008 à 14:33
Bonjour,

Je suis nouveaux sur ce site et merci de m'avoir aider dans plusieurs projet que j'ai pus avoir des renseignement.

Mais la j'ai un problème J'ai fais un traitement de texte que j'ai
séparé la fenêtre en deux avec un Richtext 1 et un Richtext2 , tous vas
bien sauf pour imprimer le Richtext 1 tous vas bien mais pour le
Richtext 2 rien s'imprime ,j'ai pourtant mis PrintPreviewDialog1 et
PrintPreviewDialog2 aussi PrintDocument1 et PrintDocument2 et
PrintDialog1 et PrintDialog2 avec 2 bouttons impression page 1 et
impression page 2 car les 2 fenêtres sont cote a cote .

Voici le code que j'ai écrit pour la page 1---------------- PrintDocument1

Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object,
ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles
PrintDocument1.PrintPage

Dim intPrintAreaWidth As Integer

Dim intPrintAreaHeight As Integer

Dim font As New Font("Microsoft Sans Serif", 10)

Dim myPen As New Pen(Color.Blue, 2)

Dim nWidth As Integer = PrintDocument1.PrinterSettings.DefaultPageSettings.PaperSize.Width

Dim nHeight As Integer = PrintDocument1.PrinterSettings.DefaultPageSettings.PaperSize.Height

With PrintDocument1.DefaultPageSettings

intPrintAreaWidth = .PaperSize.Width - .Margins.Left - .Margins.Right

intPrintAreaHeight = .PaperSize.Height - .Margins.Top

End With

m_nFirstCharOnPage = Me.FormatRange(False, _

e, _

m_nFirstCharOnPage, _

RichTextBox1.Text.Length)

e.Graphics.DrawString("page: " & CStr(ipage), font, Brushes.Blue, intPrintAreaWidth + 90, intPrintAreaHeight + 50)

If (m_nFirstCharOnPage < RichTextBox1.Text.Length) Then

ipage = ipage + 1

e.HasMorePages = True

Else

e.HasMorePages = False

End If

End Sub

------------------------------------------------------------------------------------------­---------------------

Et maintenant pour la page 2 ---------PRINTDOCUMENT 2

Private Sub PrintDocument2_PrintPage(ByVal sender As System.Object,
ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles
PrintDocument2.PrintPage

Dim intPrintAreaWidth As Integer

Dim intPrintAreaHeight As Integer

Dim font As New Font("Microsoft Sans Serif", 10)

Dim myPen As New Pen(Color.Blue, 2)

Dim nWidth As Integer = PrintDocument2.PrinterSettings.DefaultPageSettings.PaperSize.Width

Dim nHeight As Integer = PrintDocument2.PrinterSettings.DefaultPageSettings.PaperSize.Height

With PrintDocument1.DefaultPageSettings

intPrintAreaWidth = .PaperSize.Width - .Margins.Left - .Margins.Right

intPrintAreaHeight = .PaperSize.Height - .Margins.Top

End With

m_nFirstCharOnPage = Me.FormatRange(False, _

e, _

m_nFirstCharOnPage, _

RichTextBox2.Text.Length)

e.Graphics.DrawString("page: " & CStr(ipage), font, Brushes.Blue, intPrintAreaWidth + 90, intPrintAreaHeight + 50)

If (m_nFirstCharOnPage < RichTextBox2.Text.Length) Then

ipage = ipage + 1

e.HasMorePages = True

Else

e.HasMorePages = False

End If

------------------------------------------------------------------------------------------­-

Pour le boutton 1

Private Sub MenuItem10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem10.Click

Try

PrintDialog1.Document = PrintDocument1

Dim result As DialogResult = PrintDialog1.ShowDialog()

If result = DialogResult.OK Then

PrintDocument1.Print()

End If

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

End Sub

---------------------------------------------------------------

Pour le boutton 2

Private Sub MenuItem29_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem29.Click

Try

PrintDialog2.Document = PrintDocument2

Dim result As DialogResult = PrintDialog1.ShowDialog()

If result = DialogResult.OK Then

PrintDocument2.Print()

End If

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

End Sub

J'ai essayer de trouver le pourquoi que sa imprime pas mais j'arrive pas .

Merci d'avance
A voir également:

2 réponses

tovin Messages postés 164 Date d'inscription samedi 11 décembre 2004 Statut Membre Dernière intervention 14 août 2013 3
3 juin 2008 à 08:12
Bonjour,
A tout hasrd :
Dans la prcédure bouton 2, on a :
PrintDialog2.Document = PrintDocument2
Dim result As DialogResult = PrintDialog1.ShowDialog()
Ne faudrait-il pas PrintDialog2 ?
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
3 juin 2008 à 14:33
Bonjour

Normalement, tu ne devrais pas avoir besoin d'utiliser 2 fois les éléments, une seule instance devrait être utile, ensuite avec un attribut privé d'objet, tu indique si tu imprime Le 1er ou le 2ième RichTextBox.

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
Rejoignez-nous