VB.net使用PrintForm打印窗体


在VS2010中内置了了一个PowerPacks的扩展包,果然很好用啊,可以直接打印窗体内容
先从"工具箱"中拖一个PrintForm到设计好的窗体中
VB.net使用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就行了

你可能感兴趣的:(VB应用)