Controles personalizados Windows Forms

31/03/2008 - 13:11 por Henry de Sousa | Informe spam
Hola amigos.
Les cuento, estoy por empezar el desarrollo de una aplicación y deseo crear
mi propia biblioteca de controles para poderlos utilizar en mi aplicación y
aprovecharlos para futuras aplicaciones. La idea es tener una biblioteca
donde pueda tener controles TextBox, Label, Command Buttons, Form, alguno que
otro control compuesto propio que me pueda tocar desarrollar y tooodos los
objetos necesarios para el desarrollo de un sistema con unas características
propias ya predefinidas.

La duda que me surge es qué tipo de proyecto debo utilizar para el
desarrollo de estos controles? Podría utilizar un Class Library en donde el
desarrollo de los controles tendría que hacerlo “por código” o por otro lado
podría utilizar un proyecto de tipo Windows Control Library (el cual no he
visto mucho aún) y en donde aparentemente los controles se pueden desarrollar
de forma gráfica así como la definición de los valores para sus propiedades,
aparentemente este último sería el más fácil de utilizar en caso de tener que
hacer un control compuesto, digo, por tener un entorno gráfico.
Hace unos días veía un ejemplo de desarrollo de un control en donde
utilizaban un Windows Control Library, sin embargo al proyecto agregaban una
clase para el desarrollo del mismo lo cual me hizo preguntarme, por qué no
utilizan entonces un Class Library?
Además quería saber si existía alguna biblioteca ya desarrollada por allí
que se pudiera utilizar, esto solo por curiosidad ya que prefiero desarrollar
mi propia librería porque también quiero aprender :).
Bueno amigos esto ha sido todo, disculpen por haberlos mareado con mi post
tan largo y les agradezco desde ya por tu tiempo.
Saludos…

Preguntas similare

Leer las respuestas

#6 Luis Miguel Blanco
02/04/2008 - 13:06 | Informe spam
Hola Henry

La creación de un control utilizando la plantilla de proyecto Windows
Control Library o bien Class Library, al compilar te genera el mismo
resultado: un archivo DLL, por lo que la diferencia fundamental radica en que
al usar Windows Control Library, Visual Studio ya te crea automáticamente
dentro del proyecto una clase con todas las referencias necesarias a los
espacios de nombre que vas a necesitar para desarrollar el control, lo cual,
en el caso de usar una plantilla de proyecto Class Library te obligaría a
establecer dichas referencias manualmente.

Por otro lado, Windows Control Library te crea también una clase
UserControl, en la que puedes usar un diseñador de controles, para que en el
caso de que tu control vaya a estar compuesto a partir de otros controles ya
existentes (como bien dices, está más orientado a controles compuestos), sí
que puedas hacer parte del desarrollo en modo de diseño, pero necesitarás
seguir escribiendo código para dotarle de funcionalidad.

Espero que estos comentarios te resulten de ayuda.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com
http://geeks.ms/blogs/lmblanco/


"Henry de Sousa" wrote:

Hola amigo Luis.
Que bueno que respondas en este post.

Bueno te cuento que hace alrededor de una semana estuve viendo los artículos
que escribiste en algoritmodigital.com, no los vi completos pero si por
encima.
Al verlos pues me quedaron algunas dudas que más o menos las he plasmado acá.

Noté que en tu artículo creaste un proyecto de tipo Windows Control Library,
y para el desarrollo del control eliminaste el elemento UserControl1.vb y
agregaste una clase .vb en donde escribiste el código para tu control, la
pregunta
que te haría Luis es, por qué usar un proyecto de tipo Windows Control
Library en
lugar de un Class Library? Esto te lo pregunto porque veo que no trabajaste
sobre
UserControl1.vb sino que agregaste una clase y todo fue hecho por código.

Basicamente aquí es donde radica mi gran duda, cuál es la diferencia entre
desarrollar
controles personalizados usando estos dos tipos de proyectos?

Aparentemente con un Windows Control Library puedo trabajar más con el
entorno gráfico,
lo veo más orientado al desarrollo de controles compuestos, sin embargo
también puedo crear
mis controles tipo TextBox, Label etc así como lo hizo Luis en su artículo
en algoritmodigital.com.

Por otro lado, con un Class Library, creo que tambien se pueden crear
controles compuestos pero todo habría
que hacerlo por código, lo que lo haría mucho más tedioso de trabajar, así
como tambien crear controles que hereden
de TextBox etc...


Bueno disculpen lo extenso y muchas gracias a todos por su atención, en
Especial a Eduardo y Luis.


Saludos...




Respuesta Responder a este mensaje
#7 Henry de Sousa
03/04/2008 - 04:46 | Informe spam
Hola amigo Luis.

Bueno lo que haré será crear un proyecto de tipo Windows Control Library
para el
desarrollo de mis controles TextBox, Label etc...para lo cual utilizaré
elementos
de clase .cs y para los controles compuestos que me toque hacer aprovecharé
los
usercontrols que me ofrece este tipo de proyectos. También podría utilizar
un proyecto
de tipo Class Library pero creo que sería un poco más tedioso de trabajar ya
que
habría que escribir más código, al menos para los controles compuestos y
tampoco sería
lo más idoneo.


Después de este post he aclarado un poco más mis dudas, cuando cree algo les
prometo que
publicaré algo para compartirlo con todos.

Muchas gracias amigo Luis por tu tiempo y ayuda.

Saludos...

"Luis Miguel Blanco" wrote:

Hola Henry

La creación de un control utilizando la plantilla de proyecto Windows
Control Library o bien Class Library, al compilar te genera el mismo
resultado: un archivo DLL, por lo que la diferencia fundamental radica en que
al usar Windows Control Library, Visual Studio ya te crea automáticamente
dentro del proyecto una clase con todas las referencias necesarias a los
espacios de nombre que vas a necesitar para desarrollar el control, lo cual,
en el caso de usar una plantilla de proyecto Class Library te obligaría a
establecer dichas referencias manualmente.

Por otro lado, Windows Control Library te crea también una clase
UserControl, en la que puedes usar un diseñador de controles, para que en el
caso de que tu control vaya a estar compuesto a partir de otros controles ya
existentes (como bien dices, está más orientado a controles compuestos), sí
que puedas hacer parte del desarrollo en modo de diseño, pero necesitarás
seguir escribiendo código para dotarle de funcionalidad.

Espero que estos comentarios te resulten de ayuda.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com
http://geeks.ms/blogs/lmblanco/


"Henry de Sousa" wrote:

> Hola amigo Luis.
> Que bueno que respondas en este post.
>
> Bueno te cuento que hace alrededor de una semana estuve viendo los artículos
> que escribiste en algoritmodigital.com, no los vi completos pero si por
> encima.
> Al verlos pues me quedaron algunas dudas que más o menos las he plasmado acá.
>
> Noté que en tu artículo creaste un proyecto de tipo Windows Control Library,
> y para el desarrollo del control eliminaste el elemento UserControl1.vb y
> agregaste una clase .vb en donde escribiste el código para tu control, la
> pregunta
> que te haría Luis es, por qué usar un proyecto de tipo Windows Control
> Library en
> lugar de un Class Library? Esto te lo pregunto porque veo que no trabajaste
> sobre
> UserControl1.vb sino que agregaste una clase y todo fue hecho por código.
>
> Basicamente aquí es donde radica mi gran duda, cuál es la diferencia entre
> desarrollar
> controles personalizados usando estos dos tipos de proyectos?
>
> Aparentemente con un Windows Control Library puedo trabajar más con el
> entorno gráfico,
> lo veo más orientado al desarrollo de controles compuestos, sin embargo
> también puedo crear
> mis controles tipo TextBox, Label etc así como lo hizo Luis en su artículo
> en algoritmodigital.com.
>
> Por otro lado, con un Class Library, creo que tambien se pueden crear
> controles compuestos pero todo habría
> que hacerlo por código, lo que lo haría mucho más tedioso de trabajar, así
> como tambien crear controles que hereden
> de TextBox etc...
>
>
> Bueno disculpen lo extenso y muchas gracias a todos por su atención, en
> Especial a Eduardo y Luis.
>
>
> Saludos...
>
>
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida