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.

Используя этот сайт, вы соглашаетесь на использование файлов Cookie для аналитики и персонализированного контента. Файлы Cookie хранят полезную информацию на вашем компьютере, чтобы помочь нам повысить эффективность и удобство использования. Для получения дополнительной информации, пожалуйста, прочтите Конфиденциальность и Использование Cookie.