private async void Imprimir(ReportDocument rpt, string reportName) { await Task.Run(() => { bool impreso = false; var Modal = new ModalLoading("Imprimiendo"); Modal.Show(); try { DiskFileDestinationOptions diskOptions = new DiskFileDestinationOptions(); rpt.Refresh(); diskOptions.DiskFileName = ConfigurationManager.AppSettings.Get(reportName) + reportName + "_" + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString() + ".pdf"; rpt.ExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat; rpt.ExportOptions.ExportDestinationType = ExportDestinationType.DiskFile; rpt.ExportOptions.ExportDestinationOptions = diskOptions; rpt.Export(); impreso = true; Modal.Close(); } catch (Exception e) { Modal.Close(); MessageBox.Show("Error", "Descripcion: " + e, MessageBoxButtons.OK, MessageBoxIcon.Error); } return(impreso); }); }