Практическое руководство. Создание стандартных задания печати в Windows Forms
Основой печати в Windows Forms является компонент PrintDocument, а точнее, событие PrintPage. Чтобы определить объект печати и способ печати, требуется написать код для обработчика события PrintPage.
Чтобы создать задание печати, выполните следующие действия.
Добавьте компонент PrintDocument в форму.
Напишите обработчик события PrintPage.
Потребуется включить в код собственную логику печати. Помимо этого потребуется указать материал, который нужно напечатать.
В следующем примере в качестве материала для печати в обработчике событий PrintPage создается образец рисунка в виде красного прямоугольника.
Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage e.Graphics.FillRectangle(Brushes.Red, New Rectangle(500, 500, 500, 500)) End Sub
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { e.Graphics.FillRectangle(Brushes.Red, new Rectangle(500, 500, 500, 500)); }
private: void printDocument1_PrintPage(System::Object ^ sender, System::Drawing::Printing::PrintPageEventArgs ^ e) { e->Graphics->FillRectangle(Brushes::Red, Rectangle(500, 500, 500, 500)); }
(Visual C# и Visual C++) поместите в конструктор формы следующий код, чтобы зарегистрировать обработчик событий.
this.printDocument1.PrintPage += new System.Drawing.Printing.PrintPageEventHandler (this.printDocument1_PrintPage);
printDocument1->PrintPage += gcnew System::Drawing::Printing::PrintPageEventHandler (this, &Form1::printDocument1_PrintPage);
Кроме того, можно написать обработчики событий BeginPrint и EndPrint, чтобы, например, добавить целое число, представляющее общее число страниц для печати, которое уменьшается при печати каждой страницы.
Примечание
Для предоставления пользователям простого и эффективного пользовательского интерфейса можно добавить в форму компонент PrintDialog.Задавая свойство Document компонента PrintDialog, можно настроить параметры печати для документа, с которым работает форма.Дополнительные сведения о компоненте PrintDialog см. в разделе Компонент PrintDialog (Windows Forms).
Дополнительные сведения об особенностях заданий печати в Windows Forms, в том числе о способах создания заданий печати программными средствами, см. в разделе PrintPageEventArgs.