19-03-17, 06:36 AM
هذا هو الكود الخاص بك بعد التعديل عليه قليلا
PHP كود :
Imports System.Drawing.Printing
Public Class Form1
Dim WithEvents mPrintDocument As New PrintDocument
Dim mPrintBitMap As Bitmap = Nothing
Private Sub m_PrintDocument_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles mPrintDocument.PrintPage
Dim w As Integer = e.MarginBounds.X + (e.MarginBounds.Width - mPrintBitMap.Width) \ 1.5
Dim h As Integer = e.MarginBounds.Y + (e.MarginBounds.Height - mPrintBitMap.Height) \ 1.5
Dim scale As Double = 0.7
e.Graphics.DrawImageUnscaled(mPrintBitMap, w * scale, h * scale)
' There's only one page.
e.HasMorePages = False
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
mPrintBitMap = New Bitmap(CaptureFormImage)
mPrintDocument = New PrintDocument
mPrintDocument.Print()
End Sub
Private Function CaptureFormImage() As Bitmap
Dim formRect As Rectangle = New Rectangle(Me.Bounds.Location, Me.Bounds.Size)
Dim pt As Point = New Point(0 - Me.Location.X, 0 - Me.Location.Y)
Dim r As Rectangle = TrnasformRect(pt, formRect)
Dim formBitmap As Bitmap = New Bitmap(r.Width, r.Height)
Me.DrawToBitmap(formBitmap, r)
Return formBitmap
End Function
Public Function TrnasformRect(offset As Point, originalRect As Rectangle) As Rectangle
Return New Rectangle(originalRect.X + offset.X, originalRect.Y + offset.Y, originalRect.Width, originalRect.Height)
End Function
End Class

