Principales respuestas
¿Ocultar propiedad a Visual Studio?

Pregunta
-
Hola.
Tengo un objeto que hereda de Control, el cual lo muestro en un Form.
Pasa que a este objeto le he agregado propiedades, las cuales el Visual Studio me las rellena automaticamente. Me explico, cuando arrastro este nuevo objeto en el formulario, el archivo Form1.Designer.cs aparece mi nuevo objeto pero estas nuevas propiedades, aparecen con basura, es decir, objetos que no deseo, ya que estas propiedades las relleno por codigo o se rellenan en la ejecucion del programa.
Hasta ahora, solo he podido ocultarlas a la ventana de propiedades ([usando Browsable(false)]), pero Visual Studio, las sigue generando.
Alguien me podria guiar y ayudar.
Gracias y saludos.
Respuestas
-
Quizás si usas DefaultValueAttribute, para que el designer vea que ya traeun valor y que no es necesario asignarle algo... Sigo revisando.Saludos.
Fernando Gómez
fermasmas.wordpress.com- Marcado como respuesta el oberto jueves, 9 de septiembre de 2010 4:41
-
Perfecto, qué bueno que se solucionó. Y sí, es necesario usarlo conBrowsable, y quizás con algunas otras como Category y Description.Con respecto al valor de DefaultValue, deberías poner su valor inicial. Esdecir, cuando alguien cree una instancia de la clase, ¿qué valor devuelve tupropiedad? Ése es el que deberías poner. Si el tipo de la propiedad es algúnobjeto, y no hay problema con que éste sea nulo, pues sí puedes poner null.Por ejemplo:[Browsable(true)][DefaultValue(0)]public int IntProperty { ... }[Browsable(true)][DefaultValue(null)]public AlgunaClase AlgunaClaseProperty { ... }[Browsable(true)][DefaultValue(string.Empty)]public string StrProperty { ... }etcétera.Saludos.
Fernando Gómez
fermasmas.wordpress.com- Marcado como respuesta el oberto sábado, 11 de septiembre de 2010 2:47
Todas las respuestas
-
hola
sino quieres que se generen podrias definir las propiedades como privadas, para que sean internas
o sino en el constructor del control definirle un valor correcto, para inicializar el valor cuando se dibuja
o quizas en algun evento de Initialize
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina -
Hola.
Segui tus consejos, y las inicie como null, pero sigue pasando.
Las declare privadas no me sirve de mucho, ya que las propiedades las accedo desde fuera, hasta ahora, lo estoy haciendo a la "antigua", mediante metodos que me devuelven el valor de la propiedades.
Gracias por tu tiempo.
Saludos.
-
Podrías especificar de que tipo son las propiedades, para tener una mejor idea, en cuanto a los valores, es debido a que visual le asigna un bloque de memoria al crear el objeto y si no los asignas cogen lo que este ahi, siendo cualquier valor, por lo pronto prueba asignando valores null, String.empty,0 etc en el constructor.
-
Quizás si usas DefaultValueAttribute, para que el designer vea que ya traeun valor y que no es necesario asignarle algo... Sigo revisando.Saludos.
Fernando Gómez
fermasmas.wordpress.com- Marcado como respuesta el oberto jueves, 9 de septiembre de 2010 4:41
-
-
Perfecto, qué bueno que se solucionó. Y sí, es necesario usarlo conBrowsable, y quizás con algunas otras como Category y Description.Con respecto al valor de DefaultValue, deberías poner su valor inicial. Esdecir, cuando alguien cree una instancia de la clase, ¿qué valor devuelve tupropiedad? Ése es el que deberías poner. Si el tipo de la propiedad es algúnobjeto, y no hay problema con que éste sea nulo, pues sí puedes poner null.Por ejemplo:[Browsable(true)][DefaultValue(0)]public int IntProperty { ... }[Browsable(true)][DefaultValue(null)]public AlgunaClase AlgunaClaseProperty { ... }[Browsable(true)][DefaultValue(string.Empty)]public string StrProperty { ... }etcétera.Saludos.
Fernando Gómez
fermasmas.wordpress.com- Marcado como respuesta el oberto sábado, 11 de septiembre de 2010 2:47
-