Clase para textbox

27/03/2008 - 00:34 por Eduardo | Informe spam
Quiero hacer una clase particular para textbox pero cuando trato de
disenarla en el ide no me deja disenarla visualmente ejemplo para cambiarle
algunas propiedades.
Es que eso no se puede hacer visualmente?

VS2008 express edition

Preguntas similare

Leer las respuestas

#6 Eduardo
28/03/2008 - 12:20 | Informe spam
ok ya lo hice. Veo que tambien me crea una propiedad components. Me
imagino que la puedo borrar tambien ?

gracias

"Jesús López" escribió en el
mensaje news:%
Hay un truco para poder hacerlo:

1) Añade un control de usuario a tu proyecto que se llame MiCajaDeTexto
2) Abre el archivo MiCajaDeTexto..cs
3) Donde pone :

public partial class MiCajaDeTexto : UserControl

Pones:

public partial class MiCajaDeTexto : TextBox

4) Abre el archivo MiCajaDeTexto.designer.cs. Borra la línea:

this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;

5) Compila el proyecto
6) Haz doble click en MiCajaDeTexto.cs. Se te abre un diseñador vacío.
Pero en la ventana de propiedades puedes cambiarle las propiedades a la
caja de texto de forma visual.


Saludos:

Jesús López
www.solidq.com


"Eduardo" escribió en el mensaje
news:%
Es que yo me refiero es cambiarlos cuando estoy definiendo la clase
heredada, no en la instancia que voy a agregar al form.

Ejemplo:

1-Quiero que mi clase heredada tenga un font "Tahoma,8" por defecto.

2-Quiero ponerle codigo al manejador del evento "validating".

etc.

No quiero estarlo haciendo en cada form sino en la definicion de esta
subclase de textbox.

Es sobre eso que estoy preguntando si se podia hacer visualmente y no
solo por codigo en el constructor.


"Alberto Poblacion"
escribió en el mensaje news:
"Eduardo" wrote in message
news:OIRJSv$
Ejemplo si lo que quiero no es agregarle propiedades a mi clase sino
cambiarle valores a sus propiedades, tengo que hacerlo solo por codigo?
Tambien si quisiera meter un manejador para un evento de esta clase,
todo es por codigo tambien?



No se cambian los valores de las propiedades en una clase, sino en una
_instancia_ de la clase. Cuando la clase es un componente visual, la
instancia de la clase se crea cuando la agregas sobre el diseñador,
dentro de un formulario. Y una vez que está agregada ahi, las
propiedades salen en la ventanita de propiedades, con lo que puedes
cambiar sus valores de forma visual, sin tocar código.
Lo mismo cabe decir de los manejadores de eventos: Una vez que has
añadido sobre el formulario un componente de tu clase, los eventos
públicos aparecen en la ventana de propiedades (pulsando el icono del
"rayo"), y desde ahí puedes añadir de forma automática manejadores para
los eventos.









Respuesta Responder a este mensaje
#7 Jesús López
28/03/2008 - 12:41 | Informe spam
No borres nada más. Components es fundamentar para tiempo de diseño.

Saludos:

Jesús López
www.solidq.com



"Eduardo" escribió en el mensaje
news:
ok ya lo hice. Veo que tambien me crea una propiedad components. Me
imagino que la puedo borrar tambien ?

gracias

"Jesús López" escribió en el
mensaje news:%
Hay un truco para poder hacerlo:

1) Añade un control de usuario a tu proyecto que se llame MiCajaDeTexto
2) Abre el archivo MiCajaDeTexto..cs
3) Donde pone :

public partial class MiCajaDeTexto : UserControl

Pones:

public partial class MiCajaDeTexto : TextBox

4) Abre el archivo MiCajaDeTexto.designer.cs. Borra la línea:

this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;

5) Compila el proyecto
6) Haz doble click en MiCajaDeTexto.cs. Se te abre un diseñador vacío.
Pero en la ventana de propiedades puedes cambiarle las propiedades a la
caja de texto de forma visual.


Saludos:

Jesús López
www.solidq.com


"Eduardo" escribió en el mensaje
news:%
Es que yo me refiero es cambiarlos cuando estoy definiendo la clase
heredada, no en la instancia que voy a agregar al form.

Ejemplo:

1-Quiero que mi clase heredada tenga un font "Tahoma,8" por defecto.

2-Quiero ponerle codigo al manejador del evento "validating".

etc.

No quiero estarlo haciendo en cada form sino en la definicion de esta
subclase de textbox.

Es sobre eso que estoy preguntando si se podia hacer visualmente y no
solo por codigo en el constructor.


"Alberto Poblacion"
escribió en el mensaje news:
"Eduardo" wrote in message
news:OIRJSv$
Ejemplo si lo que quiero no es agregarle propiedades a mi clase sino
cambiarle valores a sus propiedades, tengo que hacerlo solo por
codigo?
Tambien si quisiera meter un manejador para un evento de esta clase,
todo es por codigo tambien?



No se cambian los valores de las propiedades en una clase, sino en
una _instancia_ de la clase. Cuando la clase es un componente visual,
la instancia de la clase se crea cuando la agregas sobre el diseñador,
dentro de un formulario. Y una vez que está agregada ahi, las
propiedades salen en la ventanita de propiedades, con lo que puedes
cambiar sus valores de forma visual, sin tocar código.
Lo mismo cabe decir de los manejadores de eventos: Una vez que has
añadido sobre el formulario un componente de tu clase, los eventos
públicos aparecen en la ventana de propiedades (pulsando el icono del
"rayo"), y desde ahí puedes añadir de forma automática manejadores para
los eventos.













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