Muy buenas,
para aprender un poco de C# estoy haciendo una aplicación muy chorra: una agenda (es decir, un repositorio de contactos).
La duda que me surge es la manera elegante de pasar información entre formularios. Me explico. Tengo una opción del menú principal que és importar contactos. Cuando clicas, se abre otro formulario que és donde seleccionas el fichero y especificas alguna otra opción. Cuando le das a aceptar se guarda la ruta del archivo en una estructura definida estaticamente en el formulario principal.
Pues bien, como hacer para que el formulario principal se entere que el usuario le ha dado al aceptar del formulario de selección de archivo y vaya a consultar esta variable?
Gracias!
Bueno, he hecho lo que queria con el tema de los delegates. De momento me funciona bien.
Hola,
para el tema de arquitectura de aplicaciones windows y tal, puedes mirar los App Blocks de Microsoft, hay muchisima información de diseño.
Si tu muestras un formulario con ShowDialog, puedes luego preguntar si el resultado fue OK, y en ese caso, obtienes la información (creo que es eso lo que querías no?):
EdicionClienteFrm formulario = new EdicionClienteFrm();
formulario.Inicializar();
formulario.Text = "Alta de Nuevo Cliente";
if (formulario.ShowDialog() == DialogResult.OK)
_Controlador.GuardarCliente(formulario.Cliente);
private void btnAceptar_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.OK;
this.Close();
}
No se si era eso lo que querías... Un saludo!
Vicente
Esto quiere decir que el if se espera hasta que el resultado es OK?
Efectivamente quiere decir esto :D
Muchas gracias!
hombre, lo ke espera no es el if,
la cosa es que al llamar a
formulario.ShowDialog()
se lanza el dialogo modal, y hasta que
no se cierra no vuelves a la aplicación
Si llamases simplemente a Show pues no esperaria.
Saludos ;)
Es lo que dice ShAq, como lanzas el formulario de forma modal, se espera hasta su vuelta. Un saludo!
Vicente