Threads

19/07/2006 - 20:21 por zero | Informe spam
hola grupo.

no se si sea lo mas conveniente, pero este es mi problema.

desde una forma abro unas formas mdichildren, las cuales su windowstate es
normal y tengo un metodo q maximiza todas las formas hijas existentes, pero
se nota muy congelado a la hora de maximizar, y quize resolverlo con un
thread pero me marca un error de q no puedo acceder a un control desde un
subproceso diferente del cual lo creo.

no se tienen alguna idea de como resolverlo, creo q eso de los hilos son
cosa del diablo o aun no he encontrado un ejemplo mas claro.

gracias y un saludo.

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
19/07/2006 - 22:42 | Informe spam
"zero" wrote in message
news:
desde una forma abro unas formas mdichildren, las cuales su windowstate es
normal y tengo un metodo q maximiza todas las formas hijas existentes,
pero
se nota muy congelado a la hora de maximizar, y quize resolverlo con un
thread pero me marca un error de q no puedo acceder a un control desde un
subproceso diferente del cual lo creo.

no se tienen alguna idea de como resolverlo, creo q eso de los hilos son
cosa del diablo o aun no he encontrado un ejemplo mas claro.



Efectivamente, el problema es que el interface gráfico de Windows es
monohilo. Los controles gráficos que aparecen en tus formularios windows
solo se pueden manipular desde el hilo que los creó. El remedio para
manipularlos desde otro hilo es utilizar el método Invoke del formulario,
que sí que admite llamarlo desde otro hilo. Este método traslada la
ejecución desde tu hilo al hilo principal y permite de esta manera manipular
el contenido de la ventana.
Tienes un ejemplo en msdn aqui:
http://msdn2.microsoft.com/en-us/li...etckb.aspx
Respuesta Responder a este mensaje
#2 Jose Escrich
19/07/2006 - 22:53 | Informe spam
Hola zero,

ups, te haz metido en un lio... para explicarlo de una manera sencilla imagina
que cuando inicias un nuevo hilo estas en otra aplicacion, y esta claro,
no conoce ni ve las clases (lease controles, ventanas, etc.) del otro hilo.
Si quieres hacer eso deberias pasar por referencia los objetos entre los
diferentes hilos y manejar un proxy lo cual me parece como matar un raton
con un misil (me parece que exagere).

Volviendo al tema, fijate de investigar y utilizar los metodos SuspendLayout
y ResumeLayout para manajer ese tipo de cosas.

saludos,

Jose Escrich
mailto: jescrich -a- gmail.com
http://latincoder.com

z> hola grupo.
z>
z> no se si sea lo mas conveniente, pero este es mi problema.
z>
z> desde una forma abro unas formas mdichildren, las cuales su
z> windowstate es normal y tengo un metodo q maximiza todas las formas
z> hijas existentes, pero se nota muy congelado a la hora de maximizar,
z> y quize resolverlo con un thread pero me marca un error de q no puedo
z> acceder a un control desde un subproceso diferente del cual lo creo.
z>
z> no se tienen alguna idea de como resolverlo, creo q eso de los hilos
z> son cosa del diablo o aun no he encontrado un ejemplo mas claro.
z>
z> gracias y un saludo.
z>
Respuesta Responder a este mensaje
#3 zero
20/07/2006 - 00:00 | Informe spam
hola aberto y jose.

saben q es lo mas dificil de ir aprendiendo sobre la marcha del proyecto, q
nunca tienes el tiempo suficiente para conocer todas las caracteristicas del
lenguaje. encontre el evento MdiChildActivate, es suficiente colocar una
intruccion q te devuelva la forma hija q se activa y cambiarle su propiedad
windowstate a maximized.

resulto mas sencillo de lo q pense.

muchas gracias a todos, nos estamos leyendo.

"zero" wrote:

hola grupo.

no se si sea lo mas conveniente, pero este es mi problema.

desde una forma abro unas formas mdichildren, las cuales su windowstate es
normal y tengo un metodo q maximiza todas las formas hijas existentes, pero
se nota muy congelado a la hora de maximizar, y quize resolverlo con un
thread pero me marca un error de q no puedo acceder a un control desde un
subproceso diferente del cual lo creo.

no se tienen alguna idea de como resolverlo, creo q eso de los hilos son
cosa del diablo o aun no he encontrado un ejemplo mas claro.

gracias y un saludo.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida