Практическое руководство: Создание стандартных заданий печати 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, включая создание задания печати программным способом, см. в PrintPageEventArgs.
См. также
.NET Desktop feedback