Básicamente Tengo una forma principal, que durante la carga, se abre un formulario secundario para iniciar la sesión en el usuario. Cuando cancelan o cierran este formulario de inicio de sesión, necesito cerrar toda la aplicación.¿Cuál es la diferencia entre estos métodos para cerrar mi aplicación?
Pero parece que hay algunas maneras diferentes para cerrar un programa en C#:
Application.Exit();
Application.ExitThread();
Environment.Exit(1);
Process.GetCurrentProcess().Kill();
SFTPClient.LDAPLoggedIn = false; Close();
EDIT: Lo siento si éste no está claro: Se establece una propiedad en un objeto controlador para indicar que el inicio de sesión falló. Después de abrir el formulario secundario, verificaría esta propiedad en el formulario principal para ver si el programa debería continuar o no. Básicamente cambia la responsabilidad de salir del programa a los padres sin una excepción.
6: throw new Exception("User closed the form");
puedo ver que hay dos maneras de manejar que:
- informando a los padres de que algo salió mal (como en 5 y 6.)
- Cierre de la programa desde el formulario hijo.
Es cualquiera de estos dos considerados mejores prácticas?
Cada enfoque parece tener el mismo efecto en mi programa, pero ¿cómo es lo que realmente comparar?
ACTUALIZACIÓN: Gracias por las respuestas. Para los que buscan esta pregunta en el futuro la gente y curiosos, este fue mi solución en el final:
private void FormMain_Load(object sender, EventArgs e)
{
if (new FormLogin().ShowDialog(this) == DialogResult.Cancel) Close();
}
y:
private void buttonCancel_Click(object sender, EventArgs e)
{
Close();
}
he descubierto que cuando una forma se cierra mediante clic en el 'X' , DialogResult está configurado para Cancelar automáticamente, así que todo lo que tengo que hacer es Close()
Lo sentimos, para aclarar # 5. Establece una propiedad en un objeto controlador para indicar que el inicio de sesión falló. Después de abrir el formulario secundario, verificaría esta propiedad en el formulario principal para ver si el programa debería continuar o no. Básicamente cambia la responsabilidad de salir del programa a los padres sin una excepción. – Nobody
@rmx - DEFINITIVAMENTE # 5 entonces, sin lugar a dudas. –