Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/05/2010, 13:49
Avatar de mvazquez
mvazquez
 
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Pregunta No se puede llamar Invoke o a BeginInvoke....

Hola colegas estoy utilizando en un proyecto de Windows Form la soguiente:

Aquí creo el BackgroundWorker y posteriormente instancio un formulario que usare en segundo plano.
Código:
BackgroundWorker bw = new BackgroundWorker();
bw.DoWork += new DoWorkEventHandler(bwInvocaDialog);
m_frmBeneficiosReqEdit = new frmBeneficiosReqEdit();
bw.RunWorkerAsync();
m_frmBeneficiosReqEdit.ShowDialog(this);
m_frmBeneficiosReqEdit.Close();
bw.Dispose();
Aquí le mando informacion a el formulario de segundo plano y ejecuto un metodo.
Código:
void bwInvocaDialog(object sender, DoWorkEventArgs e)
{
try
{
m_frmBeneficiosReqEdit.lblNivel.Invoke((MethodInvoker)delegate()
{
m_frmBeneficiosReqEdit.lblNivel.Text = “”;
m_frmBeneficiosReqEdit.ObtieneCriterios();
}
);
}
catch (Exception ex)
{ throw ex; }
}
La primera vez me funciona perfectamente bien, pero ya las egund vez me da el error: “no se puede llamar Invoke o a BeginInvoke en un control hasta que se haya credo el identificador de ventana”

Y ya no sé que me falte o que deba de hacer, ya use BeginInvoke y tambien Invoque y me da el mismo error, alguna sugerencia?
Gracias.
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."