Ver Mensaje Individual
  #7 (permalink)  
Antiguo 03/07/2010, 06:19
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Variables globales

Crea un Module en el proyecto y declara en él todas las variables que serán globales de la aplicación, como Friend.
Algo así:

Código vb.net:
Ver original
  1. Module Modulo1
  2.  
  3.    Friend variableA As Integer
  4.    Friend variableB As String
  5.  
  6. End Module

Debes recordar que sólo puede haber un módulo por proyecto o por Namespace, y que todos los elementos declarados en él (variables o métodos) son accesibles desde cualquier parte de la aplicación, pero que también conservar los valores hasta ser reinicializados.

Ahora bien, si quieres una solución intermedia, lo que podrías hacer es, en el caso que un formulario invoque a otro, crearle propiedades públicas al segundo de modo tal que sea en esas propiedades donde se almacenen los valores, y luego, al cerrarse y antes de un Dispose() simplemente recuperas del formulario hijo los valores que todavía permanecen en él.
Eso sería:
Código vb.net:
Ver original
  1. Dim oVentana As New FormIngresoDatos
  2. oVentana.ShowDialog()
  3. If oVentana.DIalogResult = DialogResult.Aceptar
  4.   varA = oVentana.Texto1
  5.   varB = oVentana.Texto2
  6. End If
Este ejemplo requiere que haya un botón en el segundo formulario que devuelva el valor Aceptar en la propiedad DialogResult de la ventana.
Texto1 y Texto2 son propiedades que podrían escribirse así:
Código vb.net:
Ver original
  1. Public Property Texto1() As String
  2.         Get
  3.             Return variableA
  4.         End Get
  5.         Set(ByVal Value As String)
  6.             variableA = Value
  7.         End Set
  8.     End Property
  9.  
  10.     Public Property Texto2() As String
  11.         Get
  12.             Return variableB
  13.         End Get
  14.         Set(ByVal Value As String)
  15.             variableB = Value
  16.         End Set
  17.     End Property
También en este caso, las variables variableA y variableB son variables locales del segundo formulario.

Al menos de esta forma seguirías respetando el paradigma POO (programación orientada a objetos).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 03/07/2010 a las 06:31