Foros del Web » Programación para mayores de 30 ;) » .NET »

Modificar propiedad de formulario instanciado desde otro formulario

Estas en el tema de Modificar propiedad de formulario instanciado desde otro formulario en el foro de .NET en Foros del Web. Buenas tardes: Tengo un formulario Form1 el cual manda llamar mediante Show() a Form2, para esto hago lo siguiente (como comunmente se hace) Dim MyForm2 ...
  #1 (permalink)  
Antiguo 01/06/2007, 17:08
 
Fecha de Ingreso: octubre-2006
Mensajes: 10
Antigüedad: 18 años, 1 mes
Puntos: 0
Modificar propiedad de formulario instanciado desde otro formulario

Buenas tardes:

Tengo un formulario Form1 el cual manda llamar mediante Show() a Form2, para esto hago lo siguiente (como comunmente se hace)

Dim MyForm2 as Form2
MyForm2 = New Form2
MyForm2.InstanceRef = Me '<-- propiedad publica tipo Form
' en Form2 que guarda
' la instancia de Form1 porque NO quiero
' cerrarla
MyForm2.StatusCaptura = "01" '<-- valor que utilizo en procesos de Form2
Me.Hide
MyForm2.Show

En este momento tengo "vivas" las dos instancias de mis dos formularios. Mientras trabajo en Form2, modifico la propiedad tipo string SatusCaptura y ahora tiene "02" (cuando inició Form2 tenía "01"). Hecho esto debo regresar a la instancia viva de Form1 y cerrar Form2, lo cual es posible gracias a la propiedad InstanceRef, lo hago así:

Me.Close
Me.Dispose

Me.InstanceRef.Show() '<-- así regreso a la instancia "viva" de Form1

Aquí el problema es, Form1 también tiene la propiedad StatusCaptura y lo que quiero es que al cerrarse Form2 me regrese el valor de SU propiedad StatusCaptura que tiene "02" y se modifique la propiedad en Form1, pero sin volver a instanciar Form1, pues aun está viva la primera instancia. Sé que es posible hacerlo así desde Form2:

Dim MyForm1 as Form1
MyForm1 = New Form1
MyForm1.StatusCaptura = Me.StatusCaptura

pero no quiero instanciar otra vez Form1, pues la primera instancia tiene valores que no quiero perder, lo cual sucedería si utilizo otra instancia. También sé que puedo usar variables globales en un módulo pero eso no es elegante hacerlo ni encaja en el paradigma de la orientación a objetos, aunque es una solución rápida y fácil, pero prefiero evitarlo. En fin, no sé si se pueda hacer esto que quiero, espero me puedan orientar al respecto. Gracias y saludos a todos
  #2 (permalink)  
Antiguo 04/06/2007, 14:36
Avatar de Yaraher  
Fecha de Ingreso: abril-2007
Ubicación: Lima, Perú
Mensajes: 262
Antigüedad: 17 años, 7 meses
Puntos: 9
Re: Modificar propiedad de formulario instanciado desde otro formulario

¿Has pensado utilizar una controladora de la capa de presentación? Puedes instanciar ahí los valores e implementar una versión simple del patrón Observer para que obtengas en un formulario los valores del otro.

Suerte!
  #3 (permalink)  
Antiguo 06/06/2007, 12:38
 
Fecha de Ingreso: octubre-2006
Mensajes: 10
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Modificar propiedad de formulario instanciado desde otro formulario

Hola! gracias por responder...he leído sobre el patrón Observer, pero nunca lo he implementado, pero mi pregunta es, a qué te refieres con una controladora de la capa de presentación? espero me puedas explicar un poco más, gracias de antemano.

salu2!
  #4 (permalink)  
Antiguo 11/06/2007, 13:00
Avatar de FNX_NET  
Fecha de Ingreso: marzo-2004
Ubicación: EN EL INFIERNO.....
Mensajes: 1.707
Antigüedad: 20 años, 8 meses
Puntos: 7
Re: Modificar propiedad de formulario instanciado desde otro formulario

formulario . propiedad, asi lo hago yo
__________________
:-D "Que se libere del cielo confinado; que mi cuerpo sea la espada de hielo negro que nos lleve al abismo; que ningún poder pueda detenernos...Destructora de las almas de los dioses!!!":adios:


:pirata:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:57.