Problema con threads al cerrar la aplicacion

02/06/2004 - 23:50 por Aldo S. | Informe spam
Hola,

Tengo un control que en el metodo OnSizeChanged lanza un thread.

El problema es que cuando la forma principal se va a cerrar, la aplicacion
genera un OnSizeChanged en este control, por lo que el thread comienza a
correr justo cuando la aplicacion esta por cerrarse.

En el evento "Closing" cuando se cierra la forma intento parar el thread si
este esta ejecutandose, pero como es usual, en el thread se utiliza el
Application.DoEvents() para darle oportunidad al thread que termine, lo cual
cause que el evento Closing continue corriendo y lo cual invalida el window
handle del control y en el thread marca un error.

Como puedo evitar este comportamiento ?

Gracias de antemano,
Aldo.
 

Leer las respuestas

#1 A.Poblacion
03/06/2004 - 07:38 | Informe spam
Ponle al thread del OnSizeChanged la propiedad IsBackground a true. Eso hace
que el thread termine automáticamente cuando se terminan todos los threads
de foreground.

Thread t = new Thread(miDelegado);
t.Isbackground=true;
t.Start();


"Aldo S." wrote in message
news:
Hola,

Tengo un control que en el metodo OnSizeChanged lanza un thread.

El problema es que cuando la forma principal se va a cerrar, la aplicacion
genera un OnSizeChanged en este control, por lo que el thread comienza a
correr justo cuando la aplicacion esta por cerrarse.

En el evento "Closing" cuando se cierra la forma intento parar el thread


si
este esta ejecutandose, pero como es usual, en el thread se utiliza el
Application.DoEvents() para darle oportunidad al thread que termine, lo


cual
cause que el evento Closing continue corriendo y lo cual invalida el


window
handle del control y en el thread marca un error.

Como puedo evitar este comportamiento ?

Gracias de antemano,
Aldo.


Preguntas similares