The following code example demonstrates how to use the PrintDialog control to set the AllowSomePages, ShowHelp, and Document properties. To run this example, paste the following code into a form containing a PrintDialog control named PrintDialog1 and a button named Button1. This example assumes the button's Click event and the PrintPage event of docToPrint have been connected to the event-handling methods defined in this example.

// Declare the PrintDocument object.private System.Drawing.Printing.PrintDocument docToPrint =
new System.Drawing.Printing.PrintDocument();
// This method will set properties on the PrintDialog object and// then display the dialog.privatevoid Button1_Click(System.Object sender,
System.EventArgs e)
{
// Allow the user to choose the page range he or she would// like to print.
PrintDialog1.AllowSomePages = true;
// Show the help button.
PrintDialog1.ShowHelp = true;
// Set the Document property to the PrintDocument for // which the PrintPage Event has been handled. To display the// dialog, either this property or the PrinterSettings property // must be set
PrintDialog1.Document = docToPrint;
DialogResult result = PrintDialog1.ShowDialog();
// If the result is OK then print the document.if (result==DialogResult.OK)
{
docToPrint.Print();
}
}
// The PrintDialog will print the document// by handling the document's PrintPage event.privatevoid document_PrintPage(object sender,
System.Drawing.Printing.PrintPageEventArgs e)
{
// Insert code to render the page here.// This code will be called when the control is drawn.// The following code will render a simple// message on the printed document.string text = "In document_PrintPage method.";
System.Drawing.Font printFont = new System.Drawing.Font
("Arial", 35, System.Drawing.FontStyle.Regular);
// Draw the content.
e.Graphics.DrawString(text, printFont,
System.Drawing.Brushes.Black, 10, 10);
}

// Declare the PrintDocument object.
private System.Drawing.Printing.PrintDocument docToPrint =
new System.Drawing.Printing.PrintDocument();
// This method will set properties on the PrintDialog object and
// then display the dialog.
private void button1_Click(Object sender, System.EventArgs e)
{
// Allow the user to choose the page range he or she would
// like to print.
printDialog1.set_AllowSomePages(true);
// Show the help button.
printDialog1.set_ShowHelp(true);
// Set the Document property to the PrintDocument for
// which the PrintPage Event has been handled. To display the
// dialog, either this property or the PrinterSettings property
// must be set
printDialog1.set_Document(docToPrint);
DialogResult result = printDialog1.ShowDialog();
// If the result is OK then print the document.
if (result.Equals(DialogResult.OK)) {
docToPrint.Print();
}
} //button1_Click
// The PrintDialog will print the document
// by handling the document's PrintPage event.
private void Document_PrintPage(Object sender,
System.Drawing.Printing.PrintPageEventArgs e)
{
// Insert code to render the page here.
// This code will be called when the control is drawn.
// The following code will render a simple
// message on the printed document.
String text = "In Document_PrintPage method.";
System.Drawing.Font printFont =
new System.Drawing.Font("Arial", 35,
System.Drawing.FontStyle.Regular);
// Draw the content.
e.get_Graphics().DrawString(text, printFont,
System.Drawing.Brushes.get_Black(), 10, 10);
} //Document_PrintPage