Tengo un formulario en el que hay un LogOutEvent y un evento de cierre de formulario. Aquí está el código,Evento de cierre desencadenado en UserClosing y this.close
private void btnLogOut_Click(object sender, EventArgs e)
{
DialogResult yesNo = MessageBox.Show(this, "Are you sure you want to Log Off?", "Log Off", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
if (yesNo == DialogResult.Yes)
{
new LoginForm();
this.Close();
string tst2 = Logout(AgentId, AgentPwd, ExtensionId);
if (tst2 == "TCF000")
MessageBox.Show(" Logout Success");
else
MessageBox.Show("Logout Failed");
}
}
Y un cierre Ficha Evento
private void MainGUI_FormClosing(Object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
DialogResult yesNo = MessageBox.Show(this, "Are you sure you want to Log Off?", "Log Off", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
if (yesNo == DialogResult.Yes)
{
Application.Exit();
}
else
{
e.Cancel = true;
}
}
}
Mi problema es que cuando hago clic en el botón de salir de su forma de llamar al evento de cierre. ¿Alguien puede aconsejar un mejor código para esto?
Cuando hago clic en cerrar 'X' debe cerrar la aplicación y cuando hago clic en Cerrar sesión, debe cerrar la ventana actual y acceder al formulario de inicio de sesión.
está llamando a this.Close() para que desencadene el evento close – V4Vendetta
@ V4Vendetta @Kragen @Marc Pero pensé que el CloseReason.UserClose solo se activaría cuando se hace clic en X. Estaba equivocado. Dime cuáles son los eventos desencadenantes para el cierre del formulario y cuándo se activarán –
Esto podría [Ayuda] (http://stackoverflow.com/questions/3631490/bug-in-formclosingeventargs-closereason) – V4Vendetta