Компонент 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)