SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: Hastu en Sábado 5 de Marzo de 2011, 22:36

Título: multi-hilos y delegados C#
Publicado por: Hastu en Sábado 5 de Marzo de 2011, 22:36
Hola , bueno pido ayuda por que me quede con un problema en un programa a entregar en la escuela, la cuestion es esta como  puedo crear botones dinamicamente me refiero a si ocupo 1 o 20 crearlos pense en una clase que cree los botones pero no se si se pueda esto a demas de que desconosco del todo la forma en que se haria y 2 como puedo por ejemplo: panel1.controls.add(boton) como puedo hacer eso desde un delegado. O si hay otra forma de agregar los botones que se creen sin usar delegados que alguien me diga por favor. Agregando info se crean los botones en un hilo pero ocupo agregarlos a un panel cread en el hilo principal eso cmo podria hacerlo.

por cierto de antemano gracias.
Título: Re: multi-hilos y delegados C#
Publicado por: gabio2 en Domingo 6 de Marzo de 2011, 18:54
Ingresa el siguiente codigo en un método, luego el método llamalo y correlo desde un hilo.. y listo.. xD  tendras tus 20 botoncitos.. a por cierto.. ¿que es un delegado?..
Código: C#
  1.  
  2.   Button _button;
  3.             for (int i = 0; i < 19; i++)
  4.             {
  5.                 _button = new Button();
  6.                 _button.Name = "boton"+i.ToString();
  7.                 this.Controls.Add(_button);
  8.                 _button.Location = new Point(1, (i * 15));
  9.             }
  10.  
  11.  
Título: Re: multi-hilos y delegados C#
Publicado por: Hastu en Lunes 7 de Marzo de 2011, 14:29
Ya lo tengo eso,  muchas gracias de todos modos ya solo me falta lo de los multi-hilos pero decidí no usarlos ya
Título: Re: multi-hilos y delegados C#
Publicado por: gabio2 en Lunes 7 de Marzo de 2011, 17:18
Amigo.. mejor explicado no lo puedes tener.. http://multithreadingincsharp.blogspot. ... rte-1.html (http://multithreadingincsharp.blogspot.com/2008/01/parte-1.html" onclick="window.open(this.href);return false;) ..... por cierto NO me contestaste... ¿Qué es un delegado?
Título: Re: multi-hilos y delegados C#
Publicado por: tannke en Lunes 7 de Marzo de 2011, 23:54
Un delegado es un tipo que hace referencia a un método, es algo parecido a los punteros que se usan en c++. Se usa entre muchas otras cosas para declarar los eventos, mejor te pongo un ejemplo sencillo:

Código: C#
  1.  
  2. class Class1
  3.     {
  4.         public delegate void Midelegado(string valor);
  5.         public event Midelegado Elevento;
  6.  
  7.         public void Imprimir(string texto)
  8.         {
  9.             Console.WriteLine(texto);
  10.             if (Elevento != null)
  11.                 Elevento("todo ok");
  12.            
  13.         }
  14.     }
  15.  

Ahora desde tu metodo main t
Código: C#
  1.  
  2. static void Main(string[] args)
  3.         {
  4.             Class1 impresion = new Class1();
  5.             impresion.Elevento+= new Class1.Midelegado(Resultado);
  6.             impresion.Imprimir("hola mundo");
  7.            
  8.         }
  9.        
  10.         static void Resultado(string text)
  11.         {
  12.             Console.WriteLine(text);
  13.         }
  14.  

Bueno, con un poco de codigo pocas palabras bastan no?
Si no entiendes algo avisa, es que ahora no tengo nada de tiempo. Un saludo!!
Título: Re: multi-hilos y delegados C#
Publicado por: Hastu en Martes 8 de Marzo de 2011, 06:09
pues termine el programa y lo entregue hoy en la mañana y termine no usando hilos por ke se tenian que usar en demaciadas cosas y me hubiera costado mucho en tan poco tiempo y pues a este profesor le gusta ser enfadoso hay fiestas en estos momentos por aca (el famoso carnaval) y el gracioso nos dejo dos programas que para que nos divirtieramos. Como sea gracias me parece interesante lo de los delegados lo tratare de aprender.