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

Preguntas similare

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



Respuesta Responder a este mensaje
#2 AT Baez
25/10/2006 - 19:07 | Informe spam
Hola Luis Miguel.

Muchas gracias por tu respuesta "a medida"; Aprecio el tiempo que has tomado
y tu disposición a compartir.

He leído tu explicación; el ejemplo me será de provecho.

Lo dicho, muchas gracias Luis Miguel,

Alberto

"Luis Miguel Blanco" wrote in
message news:
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



Respuesta Responder a este mensaje
#3 Luis Miguel Blanco
26/10/2006 - 07:31 | Informe spam
Hola Alberto

No hay de qué, celebro que mi respuesta te haya servido de ayuda 8-D.

Si estás interesado en profundizar algo más en este tema del desarrollo de
controles, visita la siguiente dirección:

http://www.algoritmodigital.com

Se trata de una revista electrónica gratuita en la que sólo debes
registrarte para acceder a su base de artículos. Una vez entres como usuario
registrado, utiliza la opción de búsquedas avanzadas y consulta los artículos
por nombre de autor, busca los entre los que yo he escrito dos con el nombre
"Desarrollo de controles Windows propios", en los que se explica el proceso
de creación de un control desde cero, utilizando GDI+ para realizar todo el
trabajo de dibujo del control. Espero que te resulte interesante 8-)

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


"AT Baez" wrote:

Hola Luis Miguel.

Muchas gracias por tu respuesta "a medida"; Aprecio el tiempo que has tomado
y tu disposición a compartir.

He leído tu explicación; el ejemplo me será de provecho.

Lo dicho, muchas gracias Luis Miguel,

Alberto

"Luis Miguel Blanco" wrote in
message news:
> 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
>>
>>
>>



Respuesta Responder a este mensaje
#4 AT Baez
26/10/2006 - 11:53 | Informe spam
Hola de nuevo Luis Miguel,

He leído el articulo "Creación de controles heredados", no solo me ha
parecido interesante, quisiera añadir que me gusta mucho la lógica y
coherencia en tu enseñanza, así como la nitidez y sencillez. !¡Enhorabuena!

Muchas gracias, recibe un atento saludo,

Alberto

"Luis Miguel Blanco" wrote in
message news:
Hola Alberto

No hay de qué, celebro que mi respuesta te haya servido de ayuda 8-D.

Si estás interesado en profundizar algo más en este tema del desarrollo de
controles, visita la siguiente dirección:

http://www.algoritmodigital.com

Se trata de una revista electrónica gratuita en la que sólo debes
registrarte para acceder a su base de artículos. Una vez entres como
usuario
registrado, utiliza la opción de búsquedas avanzadas y consulta los
artículos
por nombre de autor, busca los entre los que yo he escrito dos con el
nombre
"Desarrollo de controles Windows propios", en los que se explica el
proceso
de creación de un control desde cero, utilizando GDI+ para realizar todo
el
trabajo de dibujo del control. Espero que te resulte interesante 8-)

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


"AT Baez" wrote:

Hola Luis Miguel.

Muchas gracias por tu respuesta "a medida"; Aprecio el tiempo que has
tomado
y tu disposición a compartir.

He leído tu explicación; el ejemplo me será de provecho.

Lo dicho, muchas gracias Luis Miguel,

Alberto

"Luis Miguel Blanco" wrote
in
message news:
> 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
>>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida