/// <summary> /// Dibujar planeta según su nueva ubicación /// </summary> /// <param name="sender">Planeta</param> /// <param name="e">Argumentos asociados</param> private void DibujarAvancePlaneta(object sender, PlanetaEventArgs e) { PictureBox pic = (PictureBox)((Planeta)sender).ObjetoAsociado; // Invocación del hilo principal if (pic.InvokeRequired) { InformacionDeAvance recall = new InformacionDeAvance(this.DibujarAvancePlaneta); this.Invoke(recall, new object[] { sender, e }); } else { pic.Location = this.CalcularUbicacion(pic.Location, e.Avance, e.RadioRespectoSol); } }
/// <summary> /// Dibujar planeta según su nueva ubicación /// </summary> /// <param name="sender">Planeta</param> /// <param name="e">Argumentos asociados</param> private void DibujarAvancePlaneta(object sender, PlanetaEventArgs e) { PictureBox pic = (PictureBox)((Planeta)sender).ObjetoAsociado; // Invocación del hilo principal //Si quiero modificar un control tenemos que volver al hilo ppal if (pic.InvokeRequired) { InformacionDeAvance delegado = new InformacionDeAvance(DibujarAvancePlaneta); //Esto no es necesario si no recibo parametros Object[] arrayObject = new Object[] { sender, e }; pic.Invoke(delegado, arrayObject); } else { pic.Location = this.CalcularUbicacion(pic.Location, e.Avance, e.RadioRespectoSol); } }