This class, derived from
System.Drawing.Printing.PrintController, provides
a status dialog while printing occurs. The dialog is hosted on a
separate thread, and it automatically updates the document title and
page number as printing continues.
The implementation of this class is interesting, as it illustrates
one way of managing a multithreaded progress dialog. A decompilation
tool such as Anakrino allows you to examine this for yourself.
public class PrintControllerWithStatusDialog : System.Drawing.Printing.PrintController {
// Public Constructors
public PrintControllerWithStatusDialog(System.Drawing.Printing.PrintController underlyingController);
public PrintControllerWithStatusDialog(System.Drawing.Printing.PrintController underlyingController,
string dialogTitle);
// Public Instance Methods
public override void OnEndPage(System.Drawing.Printing.PrintDocument document,
System.Drawing.Printing.PrintPageEventArgs e); // overrides System.Drawing.Printing.PrintController
public override void OnEndPrint(System.Drawing.Printing.PrintDocument document,
System.Drawing.Printing.PrintEventArgs e); // overrides System.Drawing.Printing.PrintController
public override Graphics OnStartPage(System.Drawing.Printing.PrintDocument document,
System.Drawing.Printing.PrintPageEventArgs e); // overrides System.Drawing.Printing.PrintController
public override void OnStartPrint(System.Drawing.Printing.PrintDocument document,
System.Drawing.Printing.PrintEventArgs e); // overrides System.Drawing.Printing.PrintController
}