/// <summary> /// Inicializa todos los elementos de mi form /// </summary> public formInventario() { InitializeComponent(); this.StartPosition = FormStartPosition.CenterScreen; this.ConfigurarDt(); DelegadoThreadConParam delegado = new DelegadoThreadConParam(MostrarPantalon); }
public Form2() { InitializeComponent(); DelegadoThreadConParam delegado = new DelegadoThreadConParam(DoWork); this.hilo = new Thread(this.DoWork); this.imgImagen.ImageLocation = AppDomain.CurrentDomain.BaseDirectory + @"\img\bernabeu.jpg"; this.StartPosition = FormStartPosition.CenterScreen; }
/// <summary> /// Metodo que se ejecuta en el hilo secundario para mostrar /// un array con imagenes que va cambiando en el tiempo /// </summary> /// <param name="param"></param> private void MostrarPublicidad(object param) { if (this.imgPublicidad.InvokeRequired) { int imagenPos = 0; DelegadoThreadConParam delegado = new DelegadoThreadConParam(this.MostrarPublicidad); object[] imagen = new object[4]; imagen[0] = "Philips_Logo.png"; imagen[1] = "Philips_tv.jpg"; imagen[2] = "Oster_Logo.jpg"; imagen[3] = "Cafetera_Oster.jpg"; do { object[] parametro = new object[] { imagen[imagenPos] }; switch (imagenPos) { case 0: imagenPos = 1; break; case 1: imagenPos = 2; break; case 2: imagenPos = 3; break; case 3: imagenPos = 0; break; } this.Invoke(delegado, (object)parametro); Thread.Sleep(3000); } while(true); } else { this.imgPublicidad.ImageLocation = ((object[])param)[0].ToString(); } }
/// <summary> /// Es el metodo que permite que se vean las imagenes mediante el pictureBox /// </summary> /// <param name="param"></param> private void MostrarPantalon(object param) { if (this.pictureBox1.InvokeRequired) { int pantalon = 0; DelegadoThreadConParam delegado = new DelegadoThreadConParam(this.MostrarPantalon); object[] imagen = new object[3]; imagen[0] = "pantalon1.png"; imagen[1] = "pantalon2.jpg"; imagen[2] = "pantalon3.jpg"; do { object[] parametro = new object[] { imagen[pantalon] }; switch (pantalon) { case 0: { pantalon++; break; } case 1: { pantalon++; break; } case 2: { pantalon = 0; break; } } this.Invoke(delegado, (object)parametro); Thread.Sleep(3000); } while (true); } else { this.pictureBox1.ImageLocation = ((object[])param)[0].ToString(); } }
public void DoWorkParam(object param) { if (this.lblMensaje.InvokeRequired) { DelegadoThreadConParam delegado = new DelegadoThreadConParam(this.DoWorkParam); //ARRAY DE OBJECT PARA EL PARAMETRO object[] parametro = new object[] { param }; //DESDE EL HILO PRINCIPAL, INVOCO AL DELEGADO this.Invoke(delegado, parametro); } else { this.lblMensaje.Text = param.ToString(); } }
private void DoWork(object param) { if (this.imgImagen.InvokeRequired) { bool continua = true; int highLights = 0; string resultado = ""; DelegadoThreadConParam delegado = new DelegadoThreadConParam(this.DoWork); object[] imagen = new object[6]; imagen[0] = AppDomain.CurrentDomain.BaseDirectory + @"\img\pipa.jpg"; imagen[1] = AppDomain.CurrentDomain.BaseDirectory + @"\img\oso_pratto.jpg"; imagen[2] = AppDomain.CurrentDomain.BaseDirectory + @"\img\juanfer.jpg"; imagen[3] = AppDomain.CurrentDomain.BaseDirectory + @"\img\pity.jpg"; imagen[4] = AppDomain.CurrentDomain.BaseDirectory + @"\img\muñeco.jpg"; imagen[5] = AppDomain.CurrentDomain.BaseDirectory + @"\img\river_campeon.jpg"; do { switch (highLights) { case 0: resultado = "0 - 1"; break; case 1: resultado = "1 - 1"; break; case 2: resultado = "2 - 1"; break; case 3: resultado = "3 - 1"; break; default: resultado = "RIVER CAMPEON!!!"; break; } //ARRAY DE OBJECT PARA EL PARAMETRO object[] parametro = new object[] { imagen[highLights], resultado }; highLights++; //DESDE EL HILO PRINCIPAL, INVOCO AL DELEGADO this.Invoke(delegado, (object)parametro); if (highLights == 6) { continua = false; } Thread.Sleep(3000); } while (continua); } else { this.imgImagen.ImageLocation = ((object[])param)[0].ToString(); this.lblResultado.Text = ((object[])param)[1].ToString(); } }