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

#1 Alberto Poblacion
27/03/2008 - 08:21 | Informe spam
"Eduardo" wrote in message
news:
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?



No se entiende muy bien qué es lo que quieres hacer. Si lo que has hecho
es crear una clase hija que hereda de TextBox, entonces puedes añadirle
nuevas propiedades dentro del código fuente, pero no hay ningún diseñador
para añadirlas. Eso sí, una vez que las hayas añadido, si utilizas tu clase
para mostrar un textbox en un formulario, entonces sí que el diseñador te
mostrará en la ventana de propiedades, además de las originales, las que
hayas añadido en tu clase.
Respuesta Responder a este mensaje
#2 Eduardo
27/03/2008 - 12:15 | Informe spam
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?
En el constructor es que se pone todo? No hay nada visual?

"Alberto Poblacion"
escribió en el mensaje news:Ofa$
"Eduardo" wrote in message
news:
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?



No se entiende muy bien qué es lo que quieres hacer. Si lo que has hecho
es crear una clase hija que hereda de TextBox, entonces puedes añadirle
nuevas propiedades dentro del código fuente, pero no hay ningún diseñador
para añadirlas. Eso sí, una vez que las hayas añadido, si utilizas tu
clase para mostrar un textbox en un formulario, entonces sí que el
diseñador te mostrará en la ventana de propiedades, además de las
originales, las que hayas añadido en tu clase.

Respuesta Responder a este mensaje
#3 Alberto Poblacion
27/03/2008 - 14:00 | Informe spam
"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
#4 Eduardo
27/03/2008 - 14:14 | Informe spam
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
#5 Jesús López
27/03/2008 - 15:41 | Informe spam
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
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida