No asigna la propiedad al llamar un formulario.

20/04/2010 - 23:04 por Limberg | Informe spam
No logro asignar la propiedad "IdAlmacen"
En la linea, ofrmAlmacenAM.IdAlmacen = "01";

//Esta es la llamanda al formulario.
Form ofrmAlmacenAM;
ofrmAlmacenAM = new frmAlmacenAM();
ofrmAlmacenAM.IdAlmacen = "01"; //Esta es la linea que no asigna.
ofrmAlmacenAM.ShowDialog();


//En el formulario frmAlmacenAM tengo declarada esta propiedad
private string _IdAlmacen;
public string IdAlmacen
{
get {return _IdAlmacen;}
set {_IdAlmacen=value;}
}

Sin embargo desde la llamada al formulario no se muestra la propiedad
"IdAlmacen", por lo tanto no puedo asignarle un valor.
Quiero pasar el valor del IdAlmacen.
En que me estoy equivocando?

Gracias por contestar.
Limberg.



__________ Information from ESET NOD32 Antivirus, version of virus signature database 5036 (20100417) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com

Preguntas similare

Leer las respuestas

#1 Leandro Tuttini
20/04/2010 - 23:20 | Informe spam
hola

el tema es que no estas declarando la variable de instancia del form
"ofrmAlmacenAM" del tipo correcto

estas usando

Form ofrmAlmacenAM;
ofrmAlmacenAM = new frmAlmacenAM();

cuando deberia ser

frmAlmacenAM ofrmAlmacenAM = new frmAlmacenAM();

si pones esta linea podrias hacer

ofrmAlmacenAM.IdAlmacen = "01";
ofrmAlmacenAM.ShowDialog();

saludos
Respuesta Responder a este mensaje
#2 Limberg
20/04/2010 - 23:39 | Informe spam
Gracias Leandro, funcionó.

Una más:
Cual es la diferencia en declarar una propiedad directamente:

public string IdAlmacen;

o declarar con el get y set:

private string _IdAlmacen;
public string IdAlmacen
{
get {return _IdAlmacen;}
set {_IdAlmacen=value;}
}

Segun veo igual se puede asignar y recuperar.

Saludos,
Limberg.



"Leandro Tuttini" escribió en el mensaje
news:
hola

el tema es que no estas declarando la variable de instancia del form
"ofrmAlmacenAM" del tipo correcto

estas usando

Form ofrmAlmacenAM;
ofrmAlmacenAM = new frmAlmacenAM();

cuando deberia ser

frmAlmacenAM ofrmAlmacenAM = new frmAlmacenAM();

si pones esta linea podrias hacer

ofrmAlmacenAM.IdAlmacen = "01";
ofrmAlmacenAM.ShowDialog();

saludos

__________ Information from ESET NOD32 Antivirus, version of virus
signature database 5036 (20100417) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com








__________ Information from ESET NOD32 Antivirus, version of virus signature database 5036 (20100417) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com
Respuesta Responder a este mensaje
#3 Alberto Poblacion
21/04/2010 - 08:29 | Informe spam
"Limberg" wrote in message
news:
Cual es la diferencia en declarar una propiedad directamente:

public string IdAlmacen;

o declarar con el get y set:

private string _IdAlmacen;
public string IdAlmacen
{
get {return _IdAlmacen;}
set {_IdAlmacen=value;}
}

Segun veo igual se puede asignar y recuperar.



Desde fuera de la clase que define el campo o la propiedad, ambos se ven
iguales con una pequeña diferencia: el campo tiene dirección de
almacenamiento y la propiedad no, por lo que es lícito pasar el campo como
parámetro de tipo "ref" o "out", cosa que no se puede hacer con la
propiedad. Adicionalmente, también se distinguen por Reflexión, ya que los
campos se obtienen con GetFields(), mientras que las propiedades se obtienen
con GetProperties(). Esto afecta, por ejemplo, al databinding. Si vinculas
una colección de elementos de una clase a un Grid (por ejemplo), las
columnas que se muestran son las propiedades de la clase, pero los campos no
salen.
Dentro de la clase, la diferencia es que la propiedad admite meter
código en el "get" y el "set", con lo que se puede modificar su
comportamiento. Aunque ahora mismo no lo haces, y simplemente guardas y
devuelves el "backing field" privado, en un futuro podría ser que una nueva
versión del programa sí que requiera esos cambios. Al declarar desde el
principio una propiedad, garantizas que esos cambios se puedan hacer sin que
se vea afectado el código llamante.
Respuesta Responder a este mensaje
#4 Limberg
21/04/2010 - 22:21 | Informe spam
Gracias Alberto, muy interesante la aclaración.

Saludos,
Limberg.

"Alberto Poblacion"
escribió en el mensaje news:%
"Limberg" wrote in message
news:
Cual es la diferencia en declarar una propiedad directamente:

public string IdAlmacen;

o declarar con el get y set:

private string _IdAlmacen;
public string IdAlmacen
{
get {return _IdAlmacen;}
set {_IdAlmacen=value;}
}

Segun veo igual se puede asignar y recuperar.



Desde fuera de la clase que define el campo o la propiedad, ambos se
ven iguales con una pequeña diferencia: el campo tiene dirección de
almacenamiento y la propiedad no, por lo que es lícito pasar el campo como
parámetro de tipo "ref" o "out", cosa que no se puede hacer con la
propiedad. Adicionalmente, también se distinguen por Reflexión, ya que los
campos se obtienen con GetFields(), mientras que las propiedades se
obtienen con GetProperties(). Esto afecta, por ejemplo, al databinding. Si
vinculas una colección de elementos de una clase a un Grid (por ejemplo),
las columnas que se muestran son las propiedades de la clase, pero los
campos no salen.
Dentro de la clase, la diferencia es que la propiedad admite meter
código en el "get" y el "set", con lo que se puede modificar su
comportamiento. Aunque ahora mismo no lo haces, y simplemente guardas y
devuelves el "backing field" privado, en un futuro podría ser que una
nueva versión del programa sí que requiera esos cambios. Al declarar desde
el principio una propiedad, garantizas que esos cambios se puedan hacer
sin que se vea afectado el código llamante.


__________ Information from ESET NOD32 Antivirus, version of virus
signature database 5036 (20100417) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com








__________ Information from ESET NOD32 Antivirus, version of virus signature database 5036 (20100417) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida