[VB.NET] Print Preview.....
[VB.NET] Microsoft Visual Basic 2005
Bonjour... Voili mon pb. J'ai trouvé sur le net un code qui permet d'imprimer ma form en passant par un preview... SUPER CONTENT :D
Il marche tres bien, mais qu'une seule fois... apres il me donne une erreur???? :cry:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
Private Declare Function BitBlt Lib "gdi32.dll" Alias "BitBlt" (ByVal _
hdcDest As IntPtr, ByVal nXDest As Integer, ByVal nYDest As _
Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal _
hdcSrc As IntPtr, ByVal nXSrc As Integer, ByVal nYSrc As Integer, _
ByVal dwRop As System.Int32) As Long
Dim memoryImage As Bitmap
Private Sub CaptureScreen()
Dim mygraphics As Graphics = Me.CreateGraphics()
Dim s As Size = Me.Size
memoryImage = New Bitmap(s.Width, s.Height, mygraphics)
Dim memoryGraphics As Graphics = Graphics.FromImage(memoryImage)
Dim dc1 As IntPtr = mygraphics.GetHdc
Dim dc2 As IntPtr = memoryGraphics.GetHdc
BitBlt(dc2, 0, 0, Me.ClientRectangle.Width, _
Me.ClientRectangle.Height, dc1, 0, 0, 13369376)
mygraphics.ReleaseHdc(dc1)
memoryGraphics.ReleaseHdc(dc2)
End Sub
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, _
ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
e.Graphics.DrawImage(memoryImage, 0, 0)
End Sub
Private Sub PrintButton_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles PrintButton.Click
CaptureScreen()
PrintPreviewDialog1.Document = PrintDocument1
PrintPreviewDialog1.Show()
End Sub |
Voila....je ne comprend pas pourquoi quand j'appuis sur le bouton une fois cela marche, j'imprime, et si je rappuis ....
VB m'insulte :twisted:
Sur la ligne
Code:
1 2
|
PrintPreviewDialog1.Show() |
ObjectDisposedExecption was unhandled
"Can not access a disposed object.
Object name: 'PrintPreviewDialog'."
Si qq a une idee... :idea: Merci