Well, EssenceGold's code does the print job well but it didn't preview any page/document.
So, I replaced some of your lines with mine.
Private Sub Print_btn_Click(sender As Object, e As EventArgs) Handles Print_btn.Click
Dim b As New ToolStripButton
b.Image = CType(PrintPreviewDialog1.Controls(1), ToolStrip).ImageList.Images(0)
b.ToolTipText = "Print"
b.DisplayStyle = ToolStripItemDisplayStyle.Image
AddHandler b.Click, AddressOf PrintPreview_PrintClick
CType(PrintPreviewDialog1.Controls(1), ToolStrip).Items.RemoveAt(0)
CType(PrintPreviewDialog1.Controls(1), ToolStrip).Items.Insert(0, b)
AddHandler PrintDocument1.PrintPage, AddressOf PrintDocument1_PrintPage
PrintPreviewDialog1.Document = PrintDocument1
PrintPreviewDialog1.ShowDialog()
End Sub