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