在VS2010中内置了了一个PowerPacks的扩展包,果然很好用啊,可以直接打印窗体内容
先从"工具箱"中拖一个PrintForm到设计好的窗体中
然后在窗体里加了个打印的按钮,对应代码如下
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'先设置打印页面的页边距
With Me.PrintForm1
Dim myMargins As New Margins '页边距设置信息是存放在这个Margins类型的对象中的
With myMargins '分别设置上下左右边距,单位貌似是毫米吧,带求证
.Left = 12
.Right = 12
.Top = 12
.Bottom = 12
End With
.PrinterSettings.DefaultPageSettings.Margins = myMargins '把myMargins对象赋给PrintForm1的设置属性
End With
Me.Button1.Visible = False '这个是在打印的时候隐藏打印按钮
Me.PrintForm1.Form = Me '设置要打印的窗体
Me.PrintForm1.Print() '调用打印窗体方法
Me.Button1.Visible = True '再把隐藏的打印按钮显示出来
End Sub
特别说明一下,使用Margin对象需要引入System.Drawing.Printing类,在代码开头加上Imports System.Drawing.Printing就行了