--- title: Create Standard Print Jobs ms.date: "03/30/2017" dev_langs: - "csharp" - "vb" - "cpp" helpviewer_keywords: - "printing [Windows Forms]" - "printing [Windows Forms], creating print jobs" - "printing [Visual Basic], in Windows applications" ms.assetid: 03342b90-9cfe-40b2-838b-b479a13c5dea --- # How to: Create Standard Windows Forms Print Jobs The foundation of printing in Windows Forms is the component—more specifically, the event. By writing code to handle the event, you can specify what to print and how to print it. ### To create a print job 1. Add a component to your form. 2. Write code to handle the event. You will have to code your own printing logic. Additionally, you will have to specify the material to be printed. In the following code example, a sample graphic in the shape of a red rectangle is created in the event handler to act as material to be printed. ```vb 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 ``` ```csharp private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { e.Graphics.FillRectangle(Brushes.Red, new Rectangle(500, 500, 500, 500)); } ``` ```cpp private: void printDocument1_PrintPage(System::Object ^ sender, System::Drawing::Printing::PrintPageEventArgs ^ e) { e->Graphics->FillRectangle(Brushes::Red, Rectangle(500, 500, 500, 500)); } ``` (Visual C# and Visual C++) Place the following code in the form's constructor to register the event handler. ```csharp this.printDocument1.PrintPage += new System.Drawing.Printing.PrintPageEventHandler (this.printDocument1_PrintPage); ``` ```cpp printDocument1->PrintPage += gcnew System::Drawing::Printing::PrintPageEventHandler (this, &Form1::printDocument1_PrintPage); ``` You may also want to write code for the and events, perhaps including an integer representing the total number of pages to print that is decremented as each page prints. > [!NOTE] > You can add a component to your form to provide a clean and efficient user interface (UI) to your users. Setting the property of the component enables you to set properties related to the print document you are working with on your form. For more information about the component, see [PrintDialog Component](../controls/printdialog-component-windows-forms.md). For more information about the specifics of Windows Forms print jobs, including how to create a print job programmatically, see . ## See also - - [Windows Forms Print Support](windows-forms-print-support.md)