Gracias por la ayuda. javi_cassi en respuesta a tu pregunta:
es cierto, no se pueden acceder a controles del formulario desde el método DoWork del backgroundworker, pero sí desde RunWorkerCompleted.
Código C#:
Ver originalprivate void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
while (!backgroundWorker1.CancellationPending)
{
foreach (Control c in this.Controls)
{
if (errorProvider1.GetError(c).CompareTo("") != 0)
{
this.buttonModificar.Enabled = false;
correcto = false;
break;
}
}
if (correcto && textBoxNombreUsuario.Text.CompareTo("") != 0 && textBoxContrasenna.Text.CompareTo("") != 0)
buttonModificar.Enabled = true;
correcto = true;
break;
}
if (!backgroundWorker1.CancellationPending)
backgroundWorker1.RunWorkerAsync();
}