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
), 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
salir cuando el form lo indique