Clases de Componentes

05/01/2005 - 13:53 por Fabian | Informe spam
Hola.. tengo el siguiete problema.. no se si lo estoy haciendo mal.. o me
falta algo, pero lo que intento hacer son controles en WinForm para poder
utilizarlos en todos los forms (dentro del mismo proyecto) y ante cualquier
cambio de este.. por supuesto.. se me actualice en los forms que los
utiliza.,

Primero agrego al proyecto una clase de componente nueva... luego voy al
codigo y le cambio el inherits por el control que necesito hacer.. por
ejemplo me queda

Public Class TextboxBase
Inherits System.Windows.Forms.TextBox
...
...

Luego le seteo las propiedades que necesite y le agrego codigo si es q hace
falta..

Luego compilo el proyecto.. lo cual me genera el .EXE

Despues en la barra de herramientas.. agrego el .EXE con lo que me muestra
todos los controles que hice..

Y finalemnte arrastro el control a un formulario y me lo crea perfectamente.

El problema que veo es que cuando me lo crea, en el codigo q genera, copia
las propiedades que tiene el control en ese momento. y entonces luego cuando
las intento cambiar la clase base.. no me lo actualiza y tengo que ir Form x
Form a quitar y volver a agregar el control..

Espero q se entienda lo q necesito..

saludos y gracias
fabián
 

Leer las respuestas

#1 Juan Pedro Gonzalez
05/01/2005 - 14:16 | Informe spam
Hola Fabian

Cuando incluyes el control arrastrandolo a un formlario el diseñador de
formularios incluye el codigo que considere oportuno, si quieres puedes
pegarte con el cambiando algunas propiedades de tu clase... Por ejemplo si
sobrecargas las funciones que emplea el diseñador de formularios y las pasas
a private, o friend, podrias lograr tu cometido, aunque no es nada
aconsejable pegarse con el diseñador de formularios, ya que luego pasan
cosas raras, e incluso desaparecen todos los controles del formulario (Algo
que ya me ha pasado haciendo otras cosas)...

Personalmente lo que haría sería crearlos a mano... En el constructor del
formulario tines un comentario: "'Agregar cualquier inicialización después
de la llamada a InitializeComponent()", detras de dicho comentario podrias
iniciar tu control y de esa forma el diseñador de formularios no tratara de
meter sus propiedades...

Saludos




"Fabian" escribió en el mensaje
news:#
Hola.. tengo el siguiete problema.. no se si lo estoy haciendo mal.. o me
falta algo, pero lo que intento hacer son controles en WinForm para poder
utilizarlos en todos los forms (dentro del mismo proyecto) y ante


cualquier
cambio de este.. por supuesto.. se me actualice en los forms que los
utiliza.,

Primero agrego al proyecto una clase de componente nueva... luego voy al
codigo y le cambio el inherits por el control que necesito hacer.. por
ejemplo me queda

Public Class TextboxBase
Inherits System.Windows.Forms.TextBox
...
...

Luego le seteo las propiedades que necesite y le agrego codigo si es q


hace
falta..

Luego compilo el proyecto.. lo cual me genera el .EXE

Despues en la barra de herramientas.. agrego el .EXE con lo que me muestra
todos los controles que hice..

Y finalemnte arrastro el control a un formulario y me lo crea


perfectamente.

El problema que veo es que cuando me lo crea, en el codigo q genera,


copia
las propiedades que tiene el control en ese momento. y entonces luego


cuando
las intento cambiar la clase base.. no me lo actualiza y tengo que ir Form


x
Form a quitar y volver a agregar el control..

Espero q se entienda lo q necesito..

saludos y gracias
fabián


Preguntas similares