Copiar Datos de un Formulario MDI

08/04/2010 - 18:45 por RP | Informe spam
Hola que tal, bueno resulta que tengo un formulario MDI, donde visualizo en
un toolstrip el nombre de la persona que se esta logueando, hasta ahi bien,
pero en uno de los formularios hijos, donde registro, deseo colocar el valor
que se visualiza en el toolstrip, asi que instancio la clase del principal,
para ello puse la propiedad del toolstrip del formulario MDI como public,
ahora bien a la hora de guardar ese dato en una variable, me registra vacio,
utilizo el siguiente código en el formulario hijo

string usuario;
fPrincipal oprin=new fPrincipal();
usuario=oprin.toolstrip.text

debería guardarse en la variable usuario el contenido del tool strip que
esta en el formulario MDI, sin embargo, dicha variable no registra nada, como
si no hubiera un texto en dicho toolstrip, como hago eso, agradezco de
antemano la ayuda brindada.

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
08/04/2010 - 21:29 | Informe spam
"RP" wrote in message
news:
Hola que tal, bueno resulta que tengo un formulario MDI, donde visualizo
en
un toolstrip el nombre de la persona que se esta logueando, hasta ahi
bien,
pero en uno de los formularios hijos, donde registro, deseo colocar el
valor
que se visualiza en el toolstrip, asi que instancio la clase del
principal,
para ello puse la propiedad del toolstrip del formulario MDI como public,
ahora bien a la hora de guardar ese dato en una variable, me registra
vacio,

string usuario;
fPrincipal oprin=new fPrincipal();
usuario=oprin.toolstrip.text



No es extraño que te vuelva vacío. Estás instanciando una segunda copia
del formulario principal (al hacerle "new"). Como a esta copia nunca le
haces un "Show", no se ve en pantalla. Y al leer datos de esta copia vacía,
lógicamente te llegan vacíos.

debería guardarse en la variable usuario el contenido del tool strip que
esta en el formulario MDI, sin embargo, dicha variable no registra nada,
como
si no hubiera un texto en dicho toolstrip, como hago eso



En lugar de instanciar otra copia del MDI, tienes que leer desde el
primer MDI que ya tenías abierto. Podrías copiar una referencia al mismo en
una variable global, pero no hace falta. El propio formulario hijo ya
contiene una propiedad MdiParent que se refiere al principal, por lo que
puedes leer sus datos a través de esa referencia sin más que hacerle un
"cast" al tipo correcto del formulario:

fPrincipal oprin = (fPrincipal)this.MdiParent;
usuario=oprin.toolstrip.Text;
Respuesta Responder a este mensaje
#2 RP
08/04/2010 - 23:45 | Informe spam
Ok Alberto, seguí tu consejo, gracias por el dato, la corrección y la enseñanza



"Alberto Poblacion" wrote:

"RP" wrote in message
news:
> Hola que tal, bueno resulta que tengo un formulario MDI, donde visualizo
> en
> un toolstrip el nombre de la persona que se esta logueando, hasta ahi
> bien,
> pero en uno de los formularios hijos, donde registro, deseo colocar el
> valor
> que se visualiza en el toolstrip, asi que instancio la clase del
> principal,
> para ello puse la propiedad del toolstrip del formulario MDI como public,
> ahora bien a la hora de guardar ese dato en una variable, me registra
> vacio,
>
> string usuario;
> fPrincipal oprin=new fPrincipal();
> usuario=oprin.toolstrip.text

No es extraño que te vuelva vacío. Estás instanciando una segunda copia
del formulario principal (al hacerle "new"). Como a esta copia nunca le
haces un "Show", no se ve en pantalla. Y al leer datos de esta copia vacía,
lógicamente te llegan vacíos.

> debería guardarse en la variable usuario el contenido del tool strip que
> esta en el formulario MDI, sin embargo, dicha variable no registra nada,
> como
> si no hubiera un texto en dicho toolstrip, como hago eso

En lugar de instanciar otra copia del MDI, tienes que leer desde el
primer MDI que ya tenías abierto. Podrías copiar una referencia al mismo en
una variable global, pero no hace falta. El propio formulario hijo ya
contiene una propiedad MdiParent que se refiere al principal, por lo que
puedes leer sus datos a través de esa referencia sin más que hacerle un
"cast" al tipo correcto del formulario:

fPrincipal oprin = (fPrincipal)this.MdiParent;
usuario=oprin.toolstrip.Text;


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida