Précédent   Forum du club des développeurs et IT Pro > Dotnet > Développement Windows > Windows Forms
Windows Forms Forum d'entraide sur le développement Windows Forms & Applications Windows. Avant de poster -> Articles Windows Forms
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 19/12/2012, 17h43   #1
webrider
Membre éprouvé
 
Homme
Inscription : mai 2006
Messages : 754
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32
Localisation : Belgique

Informations forums :
Inscription : mai 2006
Messages : 754
Points : 444
Points : 444
Par défaut 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
__________________
Pensez au tag
webrider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2012, 10h31   #2
webrider
Membre éprouvé
 
Homme
Inscription : mai 2006
Messages : 754
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32
Localisation : Belgique

Informations forums :
Inscription : mai 2006
Messages : 754
Points : 444
Points : 444
Voilà j'ai trouvé l'erreur et celle-ci ne venait pas de la fonction utilisée ni d'un argument invalide mais bien d'un problème de pilote d'imprimante .

Ce qui m'a induit en erreur c'est l'exception levée de type argument invalide et cette erreur était levée dans System.Windows.Forms.Form.dll. .

Bonne journée !

webrider
__________________
Pensez au tag
webrider est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 15h20.


 
 
 
 
Partenaires

Hébergement Web