A newer version of this page is available. Switch to the current version.

ProgressReflector Class

Provides functionality to reflect the current state of a document's printing or exporting.

Namespace: DevExpress.XtraPrinting

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

Declaration

public class ProgressReflector
Public Class ProgressReflector

Related API Members

The following members accept/return ProgressReflector objects:

Remarks

Normally, this class is intended to reflect the state of a document's printing or exporting processes currently being carried out in the PrintingSystem.

You can manually create an instance of the DevExpress.XtraPrinting.Native.ReflectorBar class with the specified ProgressBarControl and assign it to the PrintingSystemBase.ProgressReflector property. As a result, the ProgressBarControl will display the current state of any printing or exporting process. After you've finished working with the ProgressReflector, call the PrintingSystemBase.ResetProgressReflector method.

NOTE

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

Examples

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.

TIP

A complete sample project is available in the DevExpress Code Examples database at http://www.devexpress.com/example=E906.

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();
    }
}

Inheritance

Object
ProgressReflector
See Also