C1.C1Preview Namespace > C1PrintDocument Class : DoEvents Property |
The default value is false.
Setting this property to true allows users to resize forms, click buttons, etc. while documents are being generated. This makes applications more responsive, and is necessary if you want to provide a "Cancel" button to stop the document generation (otherwise the user wouldn't be able to click the button until the generation is complete).
Setting this property to false will cause documents to generate slightly faster.
The code below implements "Generate" and "Cancel" buttons attached to a C1PrintDocument.
The "Generate" button checks whether the document is busy before starting to generate it. This is necessary because the user could click the "Generate" button several times in a row, before the document got a chance to finish generating. (Calling the Generate method while the component is busy throws an exception.)
The "Cancel" button checks whether the document is currently generating, and sets the Cancel property to true if it is.
_doc.DoEvents = true; private void Generate_Click(object sender, EventArgs e) { if (_doc.BusyState != BusyStateEnum.Ready) Console.WriteLine("Cannot generate now, document is busy"); else _doc.Generate(); } private void Cancel_Click(object sender, EventArgs e) { if (_doc.BusyState != BusyStateEnum.Ready) _doc.Cancel = true; else Console.WriteLine("Document is not generating, nothing to cancel"); }
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2