using FastReport.Dialog; using System.Threading.Tasks; using System.Windows.Forms; namespace FastReport.Engine { public partial class ReportEngine { #region Private Methods private bool RunDialog(DialogPage page) { return page.ShowDialog() == DialogResult.OK; } private async Task RunDialogAsync(DialogPage page) { return await page.ShowDialogAsync() == DialogResult.OK; } internal async Task RunDialogsAsync() { foreach (PageBase page in Report.Pages) { if (page is DialogPage) { DialogPage dialogPage = page as DialogPage; if (dialogPage.Visible && !await RunDialogAsync(dialogPage)) return false; } } return true; } internal bool RunDialogs() { foreach (PageBase page in Report.Pages) { if (page is DialogPage) { DialogPage dialogPage = page as DialogPage; if (dialogPage.Visible && !RunDialog(dialogPage)) return false; } } return true; } #endregion Private Methods } }