Utiliser un PrintPreviewDialog dans une classe
Bonjour,
Dans le but de gérer facilement l'impression d'une facture dans un logiciel de facturation, j'ai décidé de créer une classe pour cela mais je ne parviens pas à afficher l'aperçu dans la boîte prévue à cet effet.
J'ai effectivement à chaque fois une exception de type "Argument invalide" qui est levée au moment de l'affichage.
Voici le code de ma classe :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Imports System.Drawing
Imports System.Drawing.Printing
Public Class InvoicePrintingJob
Private p_PreviewDialog As New System.Windows.Forms.PrintPreviewDialog
Private WithEvents p_InvoiceDoc As New PrintDocument
Public Sub New()
End Sub
Public Sub Preview()
p_PreviewDialog.Document = p_InvoiceDoc
p_PreviewDialog.UseAntiAlias = True
p_PreviewDialog.ShowDialog()
End Sub
Private Sub InvoiceDoc_PrintPage(ByVal sender As Object, ByVal e As PrintPageEventArgs) Handles p_InvoiceDoc.PrintPage
e.Graphics.DrawString("Test", New Font("Verdana", 10), Brushes.AliceBlue, 200, 200)
End Sub
End Class |
Et l'objet utilisé dans l'application cliente :
Code:
1 2 3 4 5 6 7 8 9
| Private Sub AperçuToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AperçuToolStripMenuItem.Click
Try
Dim PrintJob As New DocumentPrinting.InvoicePrintingJob()
PrintJob.Preview()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
End Class |
Je ne comprends pas pourquoi se présente cette erreur. De plus, j'ai fait l'essai avec une boîte de dialogue PrintDialog et là pas d'erreur...
Une idée ?
Merci d'avance,
webrider