PrintForm 组件 (Visual Basic)

通过 Visual Basic 2010 的 PrintForm 组件,您可以在运行时打印 Windows 窗体的图像。 其行为取代了 Visual Basic 早期版本中 PrintForm 方法的行为。

PrintForm 组件概述

Windows 窗体的一个常见方案是创建一个窗体,并对其进行格式设置,使其类似于书面表格或报表的格式,然后打印该窗体的图像。 虽然您可以使用 PrintDocument 组件来达到此目的,但需要编写大量代码。 通过 PrintForm 组件,您无需使用 PrintDocument 组件即可将窗体的图像打印到打印机、打印预览窗口或文件。

PrintForm 组件位于**“工具箱”“Visual Basic PowerPacks”选项卡上。 在将此组件拖动到窗体上时,它将出现在组件栏(窗体下边框下面的一个小区域)中。 选择该组件后,可以在“属性”**窗口中设置定义其行为的属性。 也可以用代码中设置所有这些属性。 另外,您还可以在代码中创建 PrintForm 组件的实例,而不用在设计时添加该组件。

打印窗体时,将打印窗体工作区内的所有内容。 这包括所有控件以及使用图形方法在窗体上绘制的任何文本或图形。 默认情况下不打印窗体的标题栏、滚动条和边框。 此外,在默认情况下 PrintForm 组件仅打印窗体的可见部分。 例如,如果用户在运行时调整了窗体的大小,则只打印当前可见的控件和图形。

PrintForm 组件使用的默认打印机由操作系统的“控制面板”设置决定。

启动打印后,将显示标准的 PrintDocument 打印对话框。 用户可以使用此对话框取消打印作业。

关键方法、属性和事件

PrintForm 组件的关键方法是 Print 方法,此方法可将窗体的图像打印至打印机、打印预览窗口或文件。 Print 方法有两个版本:

  • 不带参数的基本版本:Print()

  • 带有指定打印行为的参数的重载版本:Print(printForm As Form, printFormOption As PrintOption)

    重载方法的 PrintOption 参数决定三个方面:用于打印窗体的基础实现;是否打印窗体的标题栏、滚动条和边框;是否打印窗体的可滚动部分。

PrintAction 属性是 PrintForm 组件的关键属性。 此属性决定是将输出发送至打印机,将输出显示在打印预览窗口中,还是将其另存为封装的 PostScript 文件。 如果将 PrintAction 属性设置为 PrintToFile,则 PrintFileName 属性将指定路径和文件名。

PrinterSettings 属性提供对基础 PrinterSettings 对象的访问,此对象可用于指定要使用的打印机以及要打印的份数等类似设置。 您还可以用它来查询打印机的功能(例如颜色或双工支持)。 此属性不会显示在**“属性”**窗口中,只能通过代码进行访问。

当您以编程方式调用 PrintForm 组件时,可以使用 Form 属性指定要打印的窗体。 如果在设计时将该组件添加到窗体中,则该窗体将成为默认窗体。

PrintForm 组件的关键事件包括:

  • BeginPrint 事件。 在调用 Print 方法时并且在打印文档的第一页之前发生。

  • EndPrint 事件。 在打印最后一页之后发生。

  • QueryPageSettings 事件。 在打印每一页之前发生。

备注

如果窗体包含由 Graphics 方法绘制的文本或图形,请使用基本 Print (Print()) 方法打印该窗体。 使用重载的 Print 方法时,某些操作系统上可能无法呈现图形。

如果窗体的宽度大于打印机中纸张的宽度,则可能会截掉窗体的右侧。 在设计供打印的窗体时,应确保标准大小的纸张能够容纳该窗体。

示例

下面的示例演示 PrintForm 组件的一种常见用法。

' Visual Basic.
Dim pf As New PrintForm
pf.Form = Me
pf.PrintAction = PrintToPrinter
pf.Print()

请参见

任务

如何:使用 PrintForm 组件打印窗体 (Visual Basic)

如何:打印窗体的工作区 (Visual Basic)

如何:打印窗体的工作区和非工作区 (Visual Basic)

如何:打印可滚动的窗体 (Visual Basic)

参考

Print

PrintAction