vb.net 教程 11-1 打印组件 3 PageSetupDialog

来源:互联网 发布:阿里云快照是什么意思 编辑:程序博客网 时间:2024/06/05 15:51
本节谈谈另外一个有关打印的对话框:PageSetupDialog,页面设置对话框

实际我们是通过这个对话框获得PageSetting,关于PageSetting在上一节有部分介绍,请参看 vb.net 教程 11-1 打印组件 PrintDialog 2

注意的是,使用PageSetupDialog需要绑定一个PrintDocument,在PageSetupDialog的Document属性处设置即可。

通过PageSetupDialog获得页面设置代码如下:
    Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click        Dim ps As Printing.PageSettings        If PageSetupDialog1.ShowDialog = DialogResult.OK Then            ps = PageSetupDialog1.PageSettings        Else            Exit Sub        End If        TextBox1.Text = "彩色打印:" & ps.Color & ControlChars.CrLf &            "打印方向:" & IIf(ps.Landscape, "横向", "竖向") & ControlChars.CrLf &            "打印边距:" & ps.Margins.Top & "*" & ps.Margins.Bottom &            "*" & ps.Margins.Left & "*" & ps.Margins.Right & ControlChars.CrLf &            "打印机名称:" & ps.PrinterSettings.PrinterName    End Sub

运行效果如下:

What! 页边距我设置的10毫米,这么变成39了?
OK,回到第一节的公式,忘了的请参看 vb.net 教程 11-1 打印组件 基础

height (mm)= height*100/(2.54*10)= height/0.254 (百分之一英寸)

也就是10毫米=10/0.254(百分之一英寸)=39.370078(百分之一英寸),四舍五入就是39。

如果我们再次按下“显示PageSetupDialog”按钮:
你会看到页边距不是10,是的,又来计算一下:
39*0.254=9.906,四舍五入就是 9.91。

另外,正如上一节所说,PageSettings中也包含了PrinterSettings属性,也可以获得打印机设置,有兴趣的朋友请自己试一下,这里不再累述。


学习更多vb.net知识,请参看 vb.net 教程 目录
原创粉丝点击