Exemplo n.º 1
0
        /// <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);
            }
        }
Exemplo n.º 2
0
        /// <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);
            }
        }