Rendering on a BackgroundWorker lets you show a live progress bar while a large report builds, then display it when finished.

Render off the UI thread. Subscribe to the engine's Rendering event to track progress; show the result on completion:
void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
    report.Load(stream);
    report.Compile();
    report.CompiledReport.Rendering += CompiledReport_Rendering;
    report.Render(false);
}

void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
    progressBar1.Visible = false;
    report.Show();
}

How it works. The engine reports progress through events while the worker renders, giving a smooth progress bar without freezing the form.

By using this website, you agree to the use of cookies for analytics and personalized content. Cookies store useful information on your computer to help us improve efficiency and usability. For more information, please read the privacy policy and cookie policy.