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

NuGet Package: DevExpress.Printing.Core

#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