Es facil, para crear un control en tiempo de ejecucion tenes que declararlo como si fuera una variable, pero del tipo de dato que es el control.
Por ejemplo, un button es System.Windows.Forms.Button
Ademas para poder usarlo tenes que definirle sus propiedades. Y si queres usar alguno de sus eventos (el clic por ejemplo) tenes que asignarles a mano el manejador de eventos.
Aca te explico bien como hacer cada cosa:
Ejemplo: crear un button (llamado BTNtemp)
//con esto lo declaras como un nuevo objeto
System.Windows.Forms.Button BTNtemp = new System.Windows.Forms.Button();
//las propiedades se las estableces como cualquier otro boton
//por ejemplo
BTNtemp.Left = 0;
BTNtemp.Top = 0;
BTNtemp.Size = new System.Drawing.Size(100, 200);
//el name y el parent, si necesitas que el control se vea y se use, tienen que ir si o
//si. El name puede ser cualquier cosa, pero lo ideal es que sea igual al nombre
//del boton
BTNtemp.Name = "BTNtemp";
//el parent es el formulario donde va a estar, lo normal es usar "this", que hace
//referencia al formulario donde esta el codigo
BTNtemp.Parent = this;
//para que se vea, despues de poner todas las propiedades casi siempre tenes
//que ejecutar el metodo show.
BTNtemp.Show();
//si queres que haga algo en alguno de sus eventos, simplemente tenes que
//asignarle un manejador de eventos al evento a usar. Un manejador de eventos
//es un metodo comun y corriente, de tipo void, pero que sus parametros son
//exactamente iguales a como el evento especifica que tienen que ser
//por ejemplo, aca hago que cuando haga clic en el BTNtemp, se haga lo que esta
//en el metodo MetodoClicDelBoton
BTNtemp.Click += new EventHandler(MetodoClicDelBoton);
//en este ejemplo, yo deberia si o si tener declarado un metodo asi en mi mismo
//formulario
private void MetodoClicDelBoton(object sender, EventArgs e)
{
//codigo que quieras que haga en el clic
}
//fijate que los parametros del metodo tienen que ser esos, pero el nombre del
//metodo lo elegis vos
Bueno, espero haberte ayudado, cualquier duda, no hay drama en seguir respondiendo
Suerte,
Bye!
Fisa
Correo:
[email protected]
MSN:
[email protected]