corelibraries-devexpress-dot-xtraprinting-dot-printingsystembase-dc5812ef.md
Occurs before the printing system’s document is printed.
Namespace : DevExpress.XtraPrinting
Assembly : DevExpress.Printing.v25.2.Core.dll
NuGet Package : DevExpress.Printing.Core
public event PrintDocumentEventHandler StartPrint
Public Event StartPrint As PrintDocumentEventHandler
The StartPrint event's data class is PrintDocumentEventArgs. The following properties provide information specific to this event:
| Property | Description |
|---|---|
| PrintDocument | Gets the object that sends the document’s output to a printer. |
| PrinterSettings | Provides access to the corresponding printer settings. |
You can use the StartPrint event to change printing settings just prior to printing the document. Use the e.PrinterSettings property to set up the printer settings.
Consider the following specifics of raising this event from UI for Windows environments:
The following example demonstrates how to use the PrintDocumentEventArgs object when handling the PrintingSystemBase.StartPrint event. The example below demonstrates how to programmatically select a printer to print a document at runtime.
using System;
using System.Windows.Forms;
using System.Drawing.Printing;
using DevExpress.XtraPrinting;
using DevExpress.Utils;
// ...
// creating a PrintingSystem object
private PrintingSystem printingSystem1 = new PrintingSystem();
//...
private void button1_Click(object sender, System.EventArgs e) {
// handling the StartPrint event
printingSystem1.StartPrint += new PrintDocumentEventHandler(printingSystem_StartPrint);
// printing the document
printingSystem1.Print();
}
private void printingSystem_StartPrint(object sender, PrintDocumentEventArgs e) {
// setting the specific printer's name before printing
e.PrintDocument.PrinterSettings.PrinterName = PrinterSettings.InstalledPrinters[1];
}
Imports System
Imports System.Windows.Forms
Imports System.Drawing.Printing
Imports DevExpress.XtraPrinting
Imports DevExpress.Utils
' ...
' creating a PrintingSystem object
Private WithEvents printingSystem1 As New PrintingSystem()
' ...
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles Button1.Click
' printing the document
printingSystem1.Print()
End Sub
' handling the StartPrint event
Private Sub printingSystem_StartPrint(ByVal sender As System.Object, _
ByVal e As PrintDocumentEventArgs) Handles printingSystem1.StartPrint
' setting the specific printer's name before printing
e.PrintDocument.PrinterSettings.PrinterName = PrinterSettings.InstalledPrinters(1)
End Sub
The following code snippets (auto-collected from DevExpress Examples) contain references to the StartPrint event.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.
PrintTool pt = new PrintTool(Document.PrintingSystem);
pt.PrintingSystem.StartPrint += new PrintDocumentEventHandler(PrintingSystem_StartPrint);
pt.PrintingSystem.PrintProgress += new PrintProgressEventHandler(PrintingSystem_PrintProgress);
reporting-winforms-print-reports-in-batch/CS/BatchPrinting/Form1.cs#L21
ReportPrintTool pt1 = new ReportPrintTool(report1);
pt1.PrintingSystem.StartPrint += new PrintDocumentEventHandler(PrintingSystem_StartPrint);
Dim pt As PrintTool = New PrintTool(Document.PrintingSystem)
AddHandler pt.PrintingSystem.StartPrint, New PrintDocumentEventHandler(AddressOf PrintingSystem_StartPrint)
AddHandler pt.PrintingSystem.PrintProgress, New PrintProgressEventHandler(AddressOf PrintingSystem_PrintProgress)
reporting-winforms-print-reports-in-batch/VB/BatchPrinting/Form1.vb#L26
Dim pt1 As New ReportPrintTool(report1)
AddHandler pt1.PrintingSystem.StartPrint, AddressOf PrintingSystem_StartPrint
See Also