Printing in VB.Net 

   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