Initializecomponent y propiedades

19/10/2008 - 21:19 por Luisa Goicochea | Informe spam
Creo una clase heredada de textbox llamada pText y le creo una propiedad
llamada: prop1 y la defino como Browsable(false) para que no aparezca en la
ventana de propiedades.

public class pText : TextBox
{
string prop1="";
[Browsable(false)]
public string Prop1 {get {return prop1;} set {prop1=value;}}
}

Luego en un form voy y agrego un textbox de esa clase y observo que en el
InitializeComponent del form me agrega esta linea:

this.pText1.Prop1 = "";

Incluso si le quito la inicializacion me pone:

this.pText1.Prop1 = null;

Como evitar que el InitializeComponent haga esta esa asignacion a esa
propiedad? se configura en alguna parte?

Preguntas similare

Leer las respuestas

#6 xcal
20/10/2008 - 14:00 | Informe spam
bueno, sucede que lo que aprendo es en base a mi experiencia,
no me dedico al csharp como profesion y solo trataba de ayudar,
de acuerdo a eso, a mi experiencia, si vas a responder mal, hallá tu.
nadie te obliga a hacerlo, y si estamos aqui, me parece que es para
aportar y aprender.

yo hice varios testes diferentes al de este post
y me da por ejemplo "" para strings y 0 para enteros

naturalmente no hice todos los testes y eso es todo, pero para tu caso
"" si esta siendo "tomado" como null, y no se que palabra usar en ves de
"tomado", y no le dedicare mas tiempo

al fin y al cabo, creo que yo si percibi que sucede,
ahora, que te ayuden otros, good bye

"Luisa Goicochea" wrote in message
news:
> porque null = "" para strings.
>

Ademas eso no puede ser cierto.


Respuesta Responder a este mensaje
#7 Luisa Goicochea
20/10/2008 - 14:32 | Informe spam
Esta bien, yo le di las gracias por su deseo de ayudar, solo que le dije
cortesmente que eso no fue lo que yo pregunte ya que mi duda es sobre el
InitializeComponent y la inicializacion de las propiedades publicas de un
control, quizas fue que no redacte bien la pregunta.
Pero independientemente de eso, decir que null y "" es lo mismo para un
string es un error ya que "" no puede ser igual a null, que es la ausencia
de valor.
Eso es todo, no veo la razon de ofenderse.



"xcal" escribió en el mensaje
news:%

bueno, sucede que lo que aprendo es en base a mi experiencia,
no me dedico al csharp como profesion y solo trataba de ayudar,
de acuerdo a eso, a mi experiencia, si vas a responder mal, hallá tu.
nadie te obliga a hacerlo, y si estamos aqui, me parece que es para
aportar y aprender.

yo hice varios testes diferentes al de este post
y me da por ejemplo "" para strings y 0 para enteros

naturalmente no hice todos los testes y eso es todo, pero para tu caso
"" si esta siendo "tomado" como null, y no se que palabra usar en ves de
"tomado", y no le dedicare mas tiempo

al fin y al cabo, creo que yo si percibi que sucede,
ahora, que te ayuden otros, good bye

"Luisa Goicochea" wrote in message
news:
> porque null = "" para strings.
>

Ademas eso no puede ser cierto.






Respuesta Responder a este mensaje
#8 Ricardo Passians
20/10/2008 - 16:32 | Informe spam
Si entendí bien, creo que te pueden servir uno de estos dos atributos o los
dos:

DefaultValue y DesignerSerializationVisibility

"DefaultValue" porque si el generador de código detecta que el valor es
distinto del indicado entonces genera el código de inicialización que
mencionas en el initializecomponent.

"DesignerSerializationVisibility" tiene una opción (Hidden) para ocultar la
serialización de la propiedad para fines de la inicialización en el
Designer.

Haz la prueba con esos dos atributos a ver si es lo que quieres.
Ej.:

public class pText : TextBox
{
string prop1="";


[Browsable(false),DefaultValue(""),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]]> public string Prop1 {get {return prop1;} set {prop1=value;}}> }Espero te sirva,Ricardo Passians"Luisa Goicochea" escribió en el mensajenews:%23pSmg% Creo una clase heredada de textbox llamada pText y le creo una propiedadllamada: prop1 y la defino como Browsable(false) para que no aparezca en laventana de propiedades.>> public class pText : TextBox> {> string prop1="";> [Browsable(false)]> public string Prop1 {get {return prop1;} set {prop1=value;}}> }>> Luego en un form voy y agrego un textbox de esa clase y observo que en elInitializeComponent del form me agrega esta linea:>> this.pText1.Prop1 = "";>> Incluso si le quito la inicializacion me pone:>> this.pText1.Prop1 = null;>> Como evitar que el InitializeComponent haga esta esa asignacion a esapropiedad? se configura en alguna parte?>>>
Respuesta Responder a este mensaje
#9 Ricardo Passians
20/10/2008 - 16:37 | Informe spam
La última parte quedó algo ilegible:


public class pText : TextBox
{
string prop1="";



[Browsable(false),DefaultValue(""),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]> public string Prop1 {get {return prop1;} set {prop1=value;}}> }Espero te sirva,Saludos,Ricardo Passians"Ricardo Passians" escribió enel mensaje news: Si entendí bien, creo que te pueden servir uno de estos dos atributos olos dos:>> DefaultValue y DesignerSerializationVisibility>> "DefaultValue" porque si el generador de código detecta que el valor esdistinto del indicado entonces genera el código de inicialización quemencionas en el initializecomponent.>> "DesignerSerializationVisibility" tiene una opción (Hidden) para ocultarla serialización de la propiedad para fines de la inicialización en elDesigner.>> Haz la prueba con esos dos atributos a ver si es lo que quieres.> Ej.:>>> public class pText : TextBox>> {>> string prop1="";>[Browsable(false),DefaultValue(""),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]]> public string Prop1 {get {return prop1;}set {prop1=value;}}> }Espero te sirva,Ricardo Passians"Luisa Goicochea" escribió en elmensajenews:%23pSmg% Creo una claseheredada de textbox llamada pText y le creo una propiedadllamada: prop1 y ladefino como Browsable(false) para que no aparezca en laventana depropiedades.>> public class pText : TextBox> {> string prop1="";>[Browsable(false)]> public string Prop1 {get {return prop1;} set{prop1=value;}}> }>> Luego en un form voy y agrego un textbox de esa clase yobservo que en elInitializeComponent del form me agrega esta linea:>>this.pText1.Prop1 = "";>> Incluso si le quito la inicializacion me pone:>>this.pText1.Prop1 = null;>> Como evitar que el InitializeComponent haga estaesa asignacion a esapropiedad? se configura en alguna parte?>>>>
Respuesta Responder a este mensaje
#10 Ricardo Passians
20/10/2008 - 16:38 | Informe spam
[Browsable(false),DefaultValue(""),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida