private void btnProcesar_Click(object sender, EventArgs e) { try { DialogResult resul = MessageBox.Show("Favor revisar los estados en la lista de los documentos, deacuerdo a los cambios realizados si fuese el caso. ¿Desea enviar los documentos?", "Envio mensajes Hacienda", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (resul == DialogResult.OK) { txtMensaje.Text = facturaIns.envioMensaje(listaRespHacienda); // enviarCorreo(lista); // MessageBox.Show(mensaje, "Procesados...", MessageBoxButtons.OK, MessageBoxIcon.Information); lsvDoc.Items.Clear(); limpiar(); MessageBox.Show("Se han procesados los archivos, en segundo plano se enviarán los correos electrónicos", "Archivos procesados.", MessageBoxButtons.OK, MessageBoxIcon.Information); BackgroundWorker tarea = new BackgroundWorker(); tarea.DoWork += reportarFacturacionElectronica; tarea.RunWorkerAsync(); } } catch (Exception) { MessageBox.Show("Ocurrió un error al procesar los datos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }