Skip to main content

PrintingSystemBase.ProgressReflector Property

Provides access to the object that reflects the current state of a document’s generating or exporting.

Namespace: DevExpress.XtraPrinting

Assembly: DevExpress.Printing.v24.2.Core.dll

Declaration

[Browsable(false)]
public ProgressReflector ProgressReflector { get; set; }

Property Value

Type Description
ProgressReflector

A ProgressReflector object which is intended to track the process of a document’s creation.

Remarks

Note that the ProgressReflector class is intended to be used only with documents created with the XtraReports Suite.

Example

This example illustrates how to use the ProgressReflector class (this class is intended to be used only with the documents created with the XtraReports Suite).

The following code invokes a form that contains the ProgressBarControl showing the document generation status. When the document creation is complete, the Progress Bar is hidden and the form shows a print preview.

using System.Windows.Forms;
using DevExpress.XtraEditors;
using DevExpress.XtraPrinting;
using DevExpress.XtraPrinting.Native;
// ...

private void Form1_Load(object sender, EventArgs e) {
    // Create a report and make it
    // a document source of the document viewer.
    report = new XtraReport1();
    documentViewer1.DocumentSource = report;

    // Create a form to show a progress bar,
    // and adjust its properties.
    Form form = new Form() {
        FormBorderStyle = FormBorderStyle.None,
        Size = new System.Drawing.Size(300, 25),
        ShowInTaskbar = false,
        StartPosition = FormStartPosition.CenterScreen,
        TopMost = true
    };

    // Create a ProgressBar along with its ReflectorBar.
    ProgressBarControl progressBar = new ProgressBarControl();
    ReflectorBar reflectorBar = new ReflectorBar(progressBar);

    // Add a progress bar to a form and show it.
    form.Controls.Add(progressBar);
    progressBar.Dock = DockStyle.Fill;
    form.Show();

    try {
        // Register the reflector bar, so that it reflects
        // the state of a ProgressReflector.
        report.PrintingSystem.ProgressReflector = reflectorBar;
        report.CreateDocument();
    }
    finally {
        // Unregister the reflector bar, so that it no longer
        // reflects the state of a ProgressReflector.
        report.PrintingSystem.ResetProgressReflector();
        form.Close();
        form.Dispose();
    }
}
See Also