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

acceder a una variable global

Estas en el tema de acceder a una variable global en el foro de .NET en Foros del Web. Hola a todos, espero que esten bien tengo el formulario principal con varias variables globales, en el formulario2 puedo accesar a ellas sin dificultad haciendo ...
  #1 (permalink)  
Antiguo 23/06/2008, 13:59
 
Fecha de Ingreso: enero-2008
Mensajes: 366
Antigüedad: 16 años, 3 meses
Puntos: 3
acceder a una variable global

Hola a todos, espero que esten bien

tengo el formulario principal con varias variables globales, en el formulario2 puedo accesar a ellas sin dificultad haciendo una instancia, pero si abro más formularios los valores se pierden, porque pasa eso y como puedo solucionarlo?


gracias
  #2 (permalink)  
Antiguo 24/06/2008, 16:16
Avatar de JonhyReyes  
Fecha de Ingreso: febrero-2007
Mensajes: 103
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: acceder a una variable global

Puedes cambiar la accesibilidad de las variables, de Public a Shared....
Mmm.... y porque no utilizas un modulo para colocar todas esas variables globales. Desde ahí no te debe dar ningún problema, ya que puedes utilizar las variables que declares ahi en todos los formularios del proyecto.

Pero si quieres que te ayude con tu problema actual... ¿porque no pones un pedacito del código para que te dé una solución más exacta?

Saludos
  #3 (permalink)  
Antiguo 25/06/2008, 02:12
 
Fecha de Ingreso: febrero-2008
Mensajes: 69
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: acceder a una variable global

Pero un modulo solo valdria si es vb.NET
yo tengo el mismo problema, pero estoy con c# y no puedo usar un modulo
  #4 (permalink)  
Antiguo 25/06/2008, 08:16
 
Fecha de Ingreso: abril-2008
Mensajes: 21
Antigüedad: 16 años
Puntos: 0
Respuesta: acceder a una variable global

Para usar variables globales por distintos formularios, sólo teneis que crearos una clase y dentro de esta instanciar la variable. Os pongo el código para que me entendais:

Código:
public partial class Form1 : Form
{
      public Form1()
     {
         InitializeComponent();
         textbox1.text= variables.var;
     }
}

public class variables
{
        public static int var;
}
Como veis en el codigo yo hago la clase dentro del formulario 1 en el mismo namespace. Pero imagino que podrías crear una clase a parte y hacerlo tipo modulo de vb.net

Saludos
  #5 (permalink)  
Antiguo 25/06/2008, 08:20
 
Fecha de Ingreso: enero-2008
Mensajes: 366
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: acceder a una variable global

Hola, gracias por contestar.

También estoy trabajando en C# lo del módulo no me funcionó y cambiar por shared no me aparece.

Lo que hago es pasarla como parámetro al tercer formulario.
  #6 (permalink)  
Antiguo 27/06/2008, 04:32
 
Fecha de Ingreso: enero-2005
Mensajes: 140
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: acceder a una variable global

Acceder a variables de un modulo directamente no es lo mas correcto, es mejor hacerlo mediante propiedades de manera que puedas interceder en el acceso a dicha variable. En C# no hay modulos pero puedes simular su funcionamiento creando una clase con sus propiedades estaticas.

Código:
public class MyClass
{
private static int m_variable;

public static int Variable
{
get{ return m_variable;}
set{ m_variable = value;}
}

}
Esta seria la forma mas sencilla, pero podrías hacer la variable solo de lectura, o solo de escritura o incluso podrías llamar a algun metodo antes o despues de asignar el valor, ......

Para utilizarlo seria mediante : MyClass.Variable;

Saludos.
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 10:35.