Private Sub PrintDocument1_PrintPage(sender
As
Object, e As Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
'https://stackoverflow.com/questions/966596/how-do-i-print-my-form
'Draw the image centered.
Dim lWidth As Integer = e.MarginBounds.X + (e.MarginBounds.Width - mPrintBitMap.Width) \ 2
Dim lHeight As Integer = e.MarginBounds.Y + (e.MarginBounds.Height - mPrintBitMap.Height) \ 2
e.Graphics.DrawImage(mPrintBitMap, lWidth, 100)
'e.Graphics.DrawImage(mPrintBitMap, lWidth, lHeight)
' There's only one page.
'e.HasMorePages = False
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' Copy the form's image into a bitmap.
mPrintBitMap = New Bitmap(Me.Width, Me.Height)
Dim lRect As System.Drawing.Rectangle
lRect.Width = Me.Width
lRect.Height = Me.Height
Me.DrawToBitmap(mPrintBitMap, lRect)
'Dim printDR As DialogResult = PrintDialog1.ShowDialog()
'PrintDocument1.PrinterSettings.PrinterName = printDR
'PrintDocument1.Print()
'PrintDocument1.PrinterSettings.DefaultPageSettings.Margins = New Printing.Margins(1, 1, 1, 1)
'PrintDocument1.PrinterSettings.DefaultPageSettings.PaperSize.RawKind = Printing.PaperKind.Letter
If PrintDialog1.ShowDialog = DialogResult.OK Then
PrintDocument1.PrinterSettings = PrintDialog1.PrinterSettings
PrintDocument1.Print()
End If
' Make a PrintDocument and print.
'mPrintDocument = New PrintDocument
'mPrintDocument.Print()
End Sub