public async void StartMassiveUpdate(object sender, EventArgs e) { if (transferencia.ComprobarAccesoInternet()) { btnCerrarSesion.Enabled = false; btnUpdateNow.Enabled = false; btnEmpresas.Enabled = false; Task task = new Task(() => { margenUtilidad.StartModule(); cuentasPendientes.StartModule(); miNegocioAlDia.StartModule(); estadoDeResultadoPMS.StartModule(); estadosFinancieros.StartModule(); flujoCajaDetallado.StartModule(); }); task.Start(); lblProcessing.Text = "Procesando datos..."; await task; lblProcessing.Text = "¡Procesamiento completado!"; transferencia.StartTransfer(backgroundWorker); } }