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

Acceder a un elemento de Form desde otra clase

Estas en el tema de Acceder a un elemento de Form desde otra clase en el foro de .NET en Foros del Web. Buenas, estoy desarrollando una aplicación y necesito hacer lo siguiente: recoger un mensaje por el puerto USB, y luego realizar una serie de acciones según ...
  #1 (permalink)  
Antiguo 02/08/2010, 07:12
 
Fecha de Ingreso: julio-2009
Mensajes: 82
Antigüedad: 14 años, 8 meses
Puntos: 0
Acceder a un elemento de Form desde otra clase

Buenas,

estoy desarrollando una aplicación y necesito hacer lo siguiente:
recoger un mensaje por el puerto USB, y luego realizar una serie de acciones según el tipo de mensaje.

De momento estoy recogiendo los mensajes y lanzando sus gestores en paralelo (Threads). Cada gestor (EventoPlacaSensores) es una clase, tal que así:

Código:
EventoPlacaSensores evento = new EventoPlacaSensores(trama);
Thread hilo = new Thread(evento.gestionarEventoCaja);
hilo.IsBackground = true;
hilo.Start();
El problema es que ahora quiero acceder a un datagridview del Form y no soy capaz.
¿Alguna idea? ¿Existe otra manera de hacer esto mismo?

Muchas gracias
  #2 (permalink)  
Antiguo 02/08/2010, 08:31
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 2 meses
Puntos: 37
Respuesta: Acceder a un elemento de Form desde otra clase

Tienes que hacer algo asi:

Código c#:
Ver original
  1. FormB Forma2 = New FormB();
  2.      Forma2.DataGridView...

Donde en tu FormB se encontraria tu DataGridView y asi lo podrás llamar del Form1.

Saludos!
  #3 (permalink)  
Antiguo 04/08/2010, 05:16
 
Fecha de Ingreso: julio-2009
Mensajes: 82
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Acceder a un elemento de Form desde otra clase

creo que no me he explicado bien

Tengo una aplicación windows forms.
Necesito ejecutar unos hilos (threads) para gestionar unos eventos, ya que el uso de Backgroundworkers es muy lento...

Desde esos hilos tengo que tener acceso al datagridview del form y a otras variables. El problema es que cuando le paso el Form a la clase que ejecutará el hilo, dichas variables están a null...

Ver el siguiente código:
Código:
form_esc.EventoPlacaSensores evento = new form_esc.EventoPlacaSensores(trama, this);
Thread hilo = new Thread(evento.gestionarEventoCaja);
hilo.IsBackground = true;
hilo.Priority = ThreadPriority.AboveNormal;
hilo.Start();
Primero creo la clase y le paso una cadena y el form, que es "this".
creo el hilo
lo lanzo
dentro del hilo accedo a las variables del form (this) y éstas, están a null.....

¿Qué estoy haciendo mal...?

Muchas gracias
  #4 (permalink)  
Antiguo 04/08/2010, 08:26
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 2 meses
Puntos: 37
Respuesta: Acceder a un elemento de Form desde otra clase

Es lógico porque no se a abierto el form que contiene el DataGridView por lo tanto todo esta vacio, entonces desde mi punto de vista no es que este mal, me imagino que esas variables al igual que el datagridview se cargan al momento de mostrar el Form que lo contiene o no?

Etiquetas: acceder, clase, formulario
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 15:54.