CustomControl

22/02/2006 - 16:49 por José Miguel Torres | Informe spam
Hola, estoy extendiendo algunos controles para facilitarme la labor de crear
pantallas de mantenimientos, por ejemplo estoy extendiendo un textbox para
darle algunas funcionalidades pero tengo un dilema, una de estas
funcionalidades es que este tiene un objeto tipo OracleParameter (Odría ser
SQLParameter o de cualquier otro tipo de parametro para base de datos). Ahora
necesito poner en el textbox una especie de combobox(en las propiedades) para
seleccionar el tipo de dato alque se le deberá hacer la compversión al .text.
Me gustaría que este combo box tenga por ejemplo int, double, text, date,
etc.
1. No sé como poner una propiedad que sea un combobox al pegar el control en
el formulario.
2. Cual sería la mejor forma de hacer esta conversión. No megustaría tener
que hacer un switch o if anidados y dependiendo del del texto de la propiedad
aplicar la conversión necesaria.
En fín, sería como hago para que una propidad me presente una lista de sus
posibles valores y cual será la mejor forma de hacer el cast.

Mil gracias.

Preguntas similare

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
23/02/2006 - 15:50 | Informe spam
Usa un enum para que contenga los valore posibles y usalo como tipo para la
propiedad.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
Respuesta Responder a este mensaje
#2 José Miguel Torres
23/02/2006 - 21:16 | Informe spam
Gracias por la sugerencia, ojala le puedas don un vistaso a esto:
1) Declara este enum private enum TipoDato {_int16, _int32, _int64,
_varchar2, _double};
2) Declare esta variable: TipoDato prueba;
3) Entonces declare esta propidad:
[Browsable(true),
CategoryAttribute("Data"),
DefaultValue(TipoDato._int),
Description("Tipo de dato para el OracleParameter.")
]
public TipoDato tipoDato
{
get
{
return(prueba);
}
set{prueba=value;}
}
Pero obtengo este error:
...\CustomComboBox.cs(100): Inconsistent accessibility: property type
'cl_Mantenimientos.CustomControl.CustomComboBox.TipoDato' is less accessible
than property 'cl_Mantenimientos.CustomControl.CustomComboBox.tipoDato'
Gracias.
Respuesta Responder a este mensaje
#3 Eduardo A. Morcillo [MS MVP VB]
24/02/2006 - 02:29 | Informe spam
El problema es que no puedes declarar una propiedad con un tipo que tenga
menor alcance que la propiedad. En este caso, no puedes usar un tipo privado
en una propiedad publica. Deberas declarar como publico el enum.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida