elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Problema con threads y vector de labels
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con threads y vector de labels  (Leído 3,127 veces)
XxyoyxX

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Problema con threads y vector de labels
« en: 3 Diciembre 2011, 19:19 pm »

Hola soy nuevo en esto de programar con c#, actualmente estoy realizando un programa para simular el movimiento de una abeja, con hilos (threads), en realidad no tengo ningun problema en mover 1 sola abeja, el problema esta cuando intento crear un vector de label para que cada vez que se presione un boton se inice un thread diferente y la imagen que se mueva sea otra, para poder instanciar el thread lo instancio de esta manera

t1 = new Thread(new ThreadStart(desplegar_especial));

el cual funciona de maravilla, pero simplemente para un solo label,

al intentar cambiar el label por un vector, y hacer lo mismo con el thread, lo manipulo de esta manera

teniendo en cuenta una posible variable contador,

abeja[contador].Visible = true;

De esta manera cada vez que entre al evento del boton coloca solo la imagen que se movera en ese momento,

t1[contador] = new Thread(new ThreadStart(desplegar_especial));

el problema esta en que el metodo desplegar_especial

no recibe parametros y para poder realizar la funcion de mover la imagen como es un vector necesito pasarle la posicion de la imagen que va a moverse, buscando en internet consegui que se puede instanciar un delegado que reciba un parametro y por medio de este ejecutar el metodo sobrecargado, lo hice

y quedo algo asi:

Nuestro_Hilo prueba = new Nuestro_Hilo(contador);

siendo Nuestro_Hilo la clase que implemento para realizar la nueva instancia   del thread,

t1[contador] = new Thread(new ThreadStart(prueba.mover_abeja));

t1[contador].Start();


en el codigo en si no marca error alguno ni al momento de ejecutarlo, pero cuando presiono click en el boton para iniciar el movimiento correspondiente de la imagen de acuerdo al vector, me sale el siguiente error:


alguien podria ayudarme, de antemano muchas gracias  :-\


En línea

seba123neo


Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Problema con threads y vector de labels
« Respuesta #1 en: 3 Diciembre 2011, 20:36 pm »

me temo que es porque estas queriendo manipular controles de la UI en el thread y eso no se puede, ya que la UI corre en un thread diferente al que vos creas.

busca en internet que esta la solucion:

Invoke or BeginInvoke cannot be called on a control until the window handle has been created

saludos.


En línea

XxyoyxX

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Problema con threads y vector de labels
« Respuesta #2 en: 3 Diciembre 2011, 21:04 pm »

Ok, tratare de revisarlo cualquier duda, posteare por aquí muchas gracias por responder!...  :D
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con Threads en libreria SDL en C++
Programación C/C++
Guillermo575 9 7,098 Último mensaje 7 Abril 2011, 06:04 am
por Guillermo575
Problema con librería vector.
Programación C/C++
bemone 3 2,629 Último mensaje 19 Mayo 2012, 20:09 pm
por RyogiShiki
Problema con Threads al pasar un dato mediante argumentos
Java
AlterMundis 2 2,516 Último mensaje 23 Enero 2013, 22:50 pm
por AlterMundis
Problema con Threads en Java
Java
Norochii 3 4,661 Último mensaje 23 Septiembre 2013, 10:46 am
por Norochii
Problema threads en python (setDaemon)
Scripting
Robertus98 4 2,520 Último mensaje 5 Julio 2014, 14:45 pm
por Robertus98
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines