Поделиться через


Компонент PrintForm (Visual Basic)

Компонент PrintForm для Visual Basic 2010 позволяет напечатать изображение формы Windows Form во время выполнения. Его функциональность призвана заменить функциональность метода PrintForm, который использовался в предыдущих версиях Visual Basic.

Общие сведения о компоненте PrintForm

Стандартным применением Windows Forms является создание формы, которая форматируется таким образом, чтобы напоминать бумажную форму или отчет, с последующей печатью изображения этой формы. Для этого можно использовать компонент PrintDocument, однако в этом случае потребуется создать код большого объема. Компонент PrintForm позволяет печатать изображение формы на принтере или в файл, а также отображать его в окне предварительного просмотра без использования компонента PrintDocument.

Компонент PrintForm находится на вкладке Visual Basic PowerPacks окна Панель элементов. При перетаскивании на форму он отображается в области компонентов, расположенной под нижней границей формы. При выборе данного компонента свойства, определяющие его поведение, можно задать в окне Свойства. Все эти свойства также можно задать в коде. Кроме того, в коде можно создать экземпляр компонента PrintForm без добавления самого компонента во время разработки.

При печати формы печатаются все данные из клиентской области этой формы. К ним относятся все элементы управления, а также текст и графика, отображаемые на форме при помощи графических методов. По умолчанию строка заголовка, полосы прокрутки и граница формы не печатаются. Кроме того, по умолчанию компонент PrintForm печатает только видимую часть формы. Например, если пользователь изменяет размер формы во время выполнения, печатаются только те элементы управления и графика, которые видны в данный момент.

Используемый компонентом PrintForm принтер по умолчанию определяется параметрами, заданными на панели управления операционной системы.

После запуска печати отображается стандартное диалоговое окно печати PrintDocument. В этом окне пользователи могут отменить задание печати.

Основные методы, свойства и события

Основным методом компонента PrintForm является метод Print, выполняющий печать изображения формы на принтере, в файл или отображающий форму в окне предварительного просмотра. Существует две версии метода Print:

  • базовая версия без параметров: Print();

  • перегруженная версия с параметрами, задающими режим печати: Print(printForm As Form, printFormOption As PrintOption).

    Параметр PrintOption этого перегруженного метода определяет базовую реализацию, используемую для печати формы. Кроме того, он определяет, выполняется ли печать строки заголовка, полос прокрутки, границы и прокручиваемых областей формы.

Ключевым свойством компонента PrintForm является свойство PrintAction. Данное свойство определяет, отправляются ли выходные данные на принтер, отображаются ли в окне предварительного просмотра или сохраняются в виде EPS-файла. Если свойству PrintAction присвоено значение PrintToFile, то свойство PrintFileName задает путь и имя файла.

Свойство PrinterSettings предоставляет доступ к базовому объекту PrinterSettings, который позволяет задать такие параметры, как используемый принтер и число копий. Можно также запросить характеристики принтера, например сведения о возможности цветной или двухсторонней печати. Данное свойство не отображается в диалоговом окне Свойства; доступ к нему можно получить только из кода.

Свойство Form используется для задания печатаемой формы в случае, когда компонент PrintForm вызывается программным способом. Если данный компонент добавляется в форму во время разработки, эта форма используется по умолчанию.

К основным событиям компонента 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