Hola amigos! esto trabajando con varios forms, y he tenido que hacer algunos metodos staticos y demas, el problema viene cuando unos componentes del form ( en el que estan) me piden que no sean staticos.
el error que me suelta este:
Error 1 An object reference is required for the non-static field, method, or property 'Test.PanelPrimario.status'
es un simple Status que va cambiando el texto segun voy actualizando cosas y demas.
He probado a intentar acceder a demas componentes del formulario y no puedo desde ese metodo estatico, desde los demas ( que no lo son) no hay problema al acceder..
cual es el problema??
Los metodos estaticos son precisamente para que puedas acceder sin referencias a la clase. Como la clase MessageBox o Console. pero los metodos estaticos solo pueden acceder a propiedades estaticas (mala practica :P), los metodos comunes pueden acceder a los 2.
Una solucion que se me ocurre, es que te armes un sub main principal (o un formulario que controle todo) y de ahi pasas los valores entre referencias. Algo asi (es pseudo codigo):
int main() { // Esto se parece a C xD
FormPrincipal frmPrincipal = new FormPrincipal();
if (frmPrincipal.ShowDialog() == DialogResult.OK) {
FormularioQueHaceElTrabajo frmWorker = new FormularioQueHaceElTrabajo();
frmWorker.Parametros = frmPrincipal.ParametrosElegidos; // Aca pasamos los datos mediante propiedades
frmWorker.Trabajar();
frmWorker.Dispose();
}
frmPrincipal.Close();
frmPrincipal.Dispose();
}
Se entiende? Claro, asi es simple, si quieres hacer algo mas "complejo" puedes trabajar con eventos y llamarlos desde el sub main y entrar un bucle infinito (ver la clase program que se crea cuando hacemos un proyecto de formularios) y listo :P salir cuando el form lo indique
Gracias! mirare a ver que es lo que me invento jeje