Visual Basic.NET - Campos y Variables globales

 
Vista:

Campos y Variables globales

Publicado por Santiago Carbonell (4 intervenciones) el 13/09/2004 08:08:21
Hola,

Tengo 2 formularios en Visual Basic .NET. Uno de ellos tiene todas las facturas y el otro quiero que aparezca detallada una factura. Para ello tengo que pasar el valor de la factura seleccionada de un formulario a otro.
He probado a guardar la factura seleccionada en un campo y luego en el 2 formulario busco ese valor:

numfra=form1.filaselec.text habiendo instanciado primero el formulario form1, pero no me devuelve nada. Por ejemplo si por defecto pongo en el campo de selección de factura el valor 3, al acceder desde el 2 formulario me devuelve 3, pero si previamente lo he cambiado a 5, me devuelve el mismo valor 3. No entiendo porqué si cambio el valor de un campo en un formulario, luego no puedo ver ese cambio en el otro formulario.

Si tienen un código parecido, (pasar valores entre formularios) por favor mándenmelo

Muchas Gracias, Un saludo

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Campos y Variables globales

Publicado por Edgar (1501 intervenciones) el 13/09/2004 16:14:58
Hola

donde estas revisando el valor del formulario 1?? posiblemente allí tengas el problema. Otra opción es la manera en la que instancias el formulario 1 desde el 2. Deberias tener una propiedad en el segundo formulario que te permita asignar el formulario padre (en tu caso el formulario 1), si esto es así, no deberias tener el problema que se te presenta, a menos que el código en donde buscas el numero solo se ejecute cuando abres el formulario 2 la primera vez

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Campos y Variables globales

Publicado por Santiago Carbonell (4 intervenciones) el 14/09/2004 07:05:46
Edgar ,

Tengo un botón en el 1º formulario que lo que hace es abrir el segundo. He probado en el onload del 2º a recoger el valor del campo del 1º formulario, pero sólo recogo el valor por defecto que le da VB .NET (aunque lo haya cambiado). He visto en un libro, que en la llamada al 2º formulario le relleno en tiempo de ejecución el campo de la fila seleccionada y luego abro el 2º formulario. Entonces allí declaro esta variable como pública y así si que funciona. Tengo que probarlo. Si tenéis algún ejemplo sencillo de cómo pasar valores entre formularios lo agradecería.

Gracias por contestar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Campos y Variables globales

Publicado por Edgar (1501 intervenciones) el 14/09/2004 14:28:17
Hola

El ejemplo que viste en el libro es correcto, si le pasas el valor justo antes de abrir el formulario tendrás el valor, pero yo te recomendaría no usar variables públicas, sino más bien el uso de propiedades, declaras una propiedad pública que te permita establecer y devolver el valor de la variable, esto para mantener el encapsulamiento de la clase

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Campos y Variables globales

Publicado por Santiago (4 intervenciones) el 14/09/2004 14:33:33
Edgar,

Eso mismo es lo que intenté hacer, ya que es la manera correcta de hacerlo en Java, pero en VB .NET aún no lo consigo.

Lo seguiré intentando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Campos y Variables globales

Publicado por Edgar (1501 intervenciones) el 14/09/2004 15:03:28
Hola

Este es un ejemplo de una propiedad en VB .NET

Public Property FullName() As String
Get
Return Me.Name
End Get
Set(ByVal Value As String)
Me.Name = Value
End Set
End Property

Debes hacer algo similar para lo que tu quieres

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Campos y Variables globales

Publicado por Santiago (4 intervenciones) el 15/09/2004 07:05:59
Edgar,

Eso mismo ya lo probé. Conseguía devolverme el valor entre clases y formularios, pero no conseguía asignarle un valor. La propiedad name sólo puedo verla desde dentro de esa propiedad. Creo que lo asignaba así name="santiago" y entonces le pasaba el valor pero desde fuera de la propiedad no era capaz de asignarle nada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar