Практическое руководство. Создание стандартных задания печати в Windows Forms

Краеугольным камнем процессов печати в Windows Forms является компонент PrintDocument, а если точнее, то событие PrintPage. Написав код для обработки события PrintPage, можно указать, что необходимо напечатать и как.

Создание задания печати

  1. Добавьте в форму компонент PrintDocument.

  2. Напишите код для обработки события 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.

См. также