Tom's Guide > Forum > Programmation > [VB.NET - QUELLE AIDE!] - Apercu avant impression
[VB.NET - QUELLE AIDE!] - Apercu avant impression - Programmation
TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour.

J'ai un probleme en VB.NET... quand je lance un aperçu avant impression de plus d'une page, et que, à partir de la boite de dialogue d'aperçu, je lance l'impression, je me retrouve avec une page blanche unique...
je vous donne mon bout de code:

Code :
  1. Private Sub btnApercu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApercu.Click
  2.         nb = 0
  3.         Dim LePageSettings As New System.Drawing.Printing.PageSettings
  4.         LePageSettings.Landscape = True
  5.         PrintDocument1.DefaultPageSettings = LePageSettings
  6.         Dim dllg As New PrintPreviewDialog
  7.         dllg.Document = PrintDocument1()
  8.         dllg.ShowDialog()
  9.         nb = 0
  10.     End Sub
  11. Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
  12.         e.PageSettings.Landscape = True
  13.         Dim X As Integer = 10
  14.         Dim Y As Integer = 200
  15.         Dim Xg As Integer = 0
  16.         Dim p As System.Drawing.PointF
  17.         Dim rect As RectangleF
  18.         Dim myPen As Pen = New Pen(Color.Black, 1)
  19.         Dim page As Boolean = True
  20.         While (nb < cbQte.SelectedIndex + 1 And page)
  21.                 'La partie ou je mets en page...!
  22.                 nb += 1
  23.                 page = false       
  24.         End While
  25.         page = True
  26.         e.HasMorePages = IIf(nb < (cbQte.SelectedIndex + 1), True, False)
  27.     End Sub




si quelqu'un avait une idée, ça serait cool, merci!

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Non, personne?

Répondre à kicoe

c'est marrant de voir à quel point on peut être aidé... merci beaucoup les gars!

Répondre à kicoe

J'taurais bien aidé mais je connais pas le visual basic.

Répondre à Rakipu

Si ta page n'affiche rien c'est dans ta partie 'mise en page' tu ne fais qu'incrémenter 'nb', tu n'affiche rien sur ta page.

SI elle est unique, c'est parce que lorque tu met ton 'e.HasMorePages' à 'True', tu le fais, c'est bien, mais tu ne reviens pas sur ta 'Mise en page' pour continuer à afficher sur cette 2nde feuille.

Mon prog reprend le même principe que le tiens, sauf que moi j'enchaine une série de chaines afin de créer une série d'étiquettes d'adresse, Voici comment j'ai procédé :
Private Sub Etiquette(ByVal x As Integer, ByVal y As Integer, ByVal numCont As Integer, ByVal ea As System.Drawing.Printing.PrintPageEventArgs)
Dim F As Font = New Font("Verdana", 8, FontStyle.Regular, GraphicsUnit.Point, 0)
Dim Gr As Graphics = ea.Graphics

Dim ptH As Point
Dim ptV As Point

ptH.X = x
ptV.Y = y

Dim Lge As String

Lge = CStr(lesContacts.Contact(numCont).Nom) & " " & CStr(lesContacts.Contact(numCont).Prenom)
If Lge <> "" Then
Gr.DrawString(Lge, F, Brushes.Black, x, y)
y += 15
End If

En revanche je n'arrive pas à afficher de dexième page, pas même à l'aperçu avant impression...
Private Sub ImprReservation_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) _
Handles Me.PrintPage

Dim x As Integer = 4
Dim y As Integer = 30
Dim n As Integer = 0

For i As Integer = 1 To 47
If n <> 0 Then
'S'il y a + de 24 étiquettes, on créé une nouvelle page
e.HasMorePages = IIf((n Mod 24 = 0), True, False)
If n Mod 24 = 0 Then
n = 0
x = 4
End If


'Si le nombre d'étiquettes est un multiple de 3, c'est qu'il y a 3 étiquettes sur la ligne
'on revient donc en bordure de page en décalant vers le bas
If n Mod 3 = 0 Then
y += 145
x = 4
End If
End If

'Appel de la procèdure qui créera une étiquette
Etiquette(x, y, i, e)
'On décale la marge de début d'écriture pour passer à l'étiquette suivante
x += 280
n += 1
Next

End Sub

Qu'en penses-tu ?
Ton post date un peu, je suis pas sûre que tu le relise ^^ mais je tente...

Bye

Répondre à Magougouille
Tom's Guide > Forum > Programmation > [VB.NET - QUELLE AIDE!] - Apercu avant impression
Aller à :

Il y a 2282 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens