CLR: .Net / Mono / Boo / Otros CLR > C#

 multi-hilos y delegados C#

(1/2) > >>

Hastu:
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.

gabio2:
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# ---   Button _button;            for (int i = 0; i < 19; i++)            {                _button = new Button();                _button.Name = "boton"+i.ToString();                this.Controls.Add(_button);                _button.Location = new Point(1, (i * 15));            }  

Hastu:
Ya lo tengo eso,  muchas gracias de todos modos ya solo me falta lo de los multi-hilos pero decidí no usarlos ya

gabio2:
Amigo.. mejor explicado no lo puedes tener.. http://multithreadingincsharp.blogspot. ... rte-1.html ..... por cierto NO me contestaste... ¿Qué es un delegado?

tannke:
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# --- class Class1    {        public delegate void Midelegado(string valor);        public event Midelegado Elevento;         public void Imprimir(string texto)        {            Console.WriteLine(texto);            if (Elevento != null)                Elevento("todo ok");                    }    } 
Ahora desde tu metodo main t

--- Código: C# --- static void Main(string[] args)        {            Class1 impresion = new Class1();            impresion.Elevento+= new Class1.Midelegado(Resultado);            impresion.Imprimir("hola mundo");                    }                static void Resultado(string text)        {            Console.WriteLine(text);        } 
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!!

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa