Control de usuario con herencia

23/10/2006 - 17:54 por AT Baez | Informe spam
Un saludo al grupo,

Deseo aprender a desarrollarlo (control de usuario con herencia). Conocen de
alguna informacion que me explique desde el principio y siga paso a paso.

Ademas me podeis orientar sobre el tipo de proyecto con el que debo empezar;
estoy confundido porque en una publicacion dice: "crear un nuevo proyecto
Biblioteca de controles Windows", pero en Express Edition lo mas parecido a
eso es "Biblioteca de clases".
Tambien ese tipo de archivos (.dll) como se obtienen a partir de la clase
que escribimos (.cs).

Por favor disculpen que pregunte como una ametralladora, pero estoy
completamente verde en esto.

Gracias de antemano por cualquier ayuda,
Alberto
 

Leer las respuestas

#1 Luis Miguel Blanco
25/10/2006 - 08:16 | Informe spam
Hola Alberto

Cuando creas un proyecto, dependiendo de la versión de VS 2005 que tengas,
te aparecerán un mayor o menor número de plantillas. En el caso que comentas,
tanto el tipo de proyecto (plantilla) "Biblioteca de controles Windows", como
"Biblioteca de clases", ambos producen el mismo resultado, un archivo .dll,
el cual se obtiene al generar o compilar el proyecto. La ventaja de usar una
determinada plantilla radica en que inicialmente ya te configuran el proyecto
con una serie de ajustes para que no tengas que hacerlos manualmente.

Durante el desarrollo de tu biblioteca de controles escribirás el código en
uno o varios archivos .cs, y para obtener el resultado compilado del
proyecto, tienes que seleccionar la opción de VS 2005 Generar > Generar
solución, que te creará en la ruta de tu proyecto \bin\debug el archivo .dll
que posteriormente podrás referenciar en otro proyecto que vaya a hacer uso
de tu control.

Como ejemplo, te acompaño un bloque de código en el que se crea una clase
que deriva de Button, y te permite crear botones en los que al entrar y salir
el cursor del ratón, cambia su color.

//--
//
using System.Drawing;
using System.Windows.Forms;

class BotonPropio : Button
{
Color oColorEntrar;

public Color ColorEntrar
{
get
{
return oColorEntrar;
}
set
{
oColorEntrar = value;
}
}


// reemplazar los métodos para llamar
// a los eventos de entrada y salida del cursor sobre el control
protected override void OnMouseEnter(EventArgs e)
{
base.OnMouseEnter(e);

this.BackColor = this.ColorEntrar;
}

protected override void OnMouseLeave(EventArgs e)
{
base.OnMouseLeave(e);

this.BackColor = SystemColors.Control;
}
}


// en el código del formulario crearías una instancia
// de esta clase añadiéndola a su colección de controles
BotonPropio oBoton;
oBoton = new BotonPropio();
oBoton.Location = new Point(50, 50);
oBoton.Size = new Size(150, 50);
oBoton.Text = "Prueba botón";
oBoton.ColorEntrar = Color.MediumSpringGreen;
// agregar el control a la colección de controles del formulario
this.Controls.Add(oBoton);
//--

Espero que te sirva de ayuda para comenzar a crear tus controles.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"AT Baez" wrote:

Un saludo al grupo,

Deseo aprender a desarrollarlo (control de usuario con herencia). Conocen de
alguna informacion que me explique desde el principio y siga paso a paso.

Ademas me podeis orientar sobre el tipo de proyecto con el que debo empezar;
estoy confundido porque en una publicacion dice: "crear un nuevo proyecto
Biblioteca de controles Windows", pero en Express Edition lo mas parecido a
eso es "Biblioteca de clases".
Tambien ese tipo de archivos (.dll) como se obtienen a partir de la clase
que escribimos (.cs).

Por favor disculpen que pregunte como una ametralladora, pero estoy
completamente verde en esto.

Gracias de antemano por cualquier ayuda,
Alberto



Preguntas similares