Quiero establecer CloseReason de un formulario después de llamar a This.Close() dentro del formulario.Configuración programmatically closereason
Normalmente, este formulario se cierra solo llamando a This.Close(), pero quiero preguntarle al usuario si REALMENTE quiere cerrar el formulario y enviar un mbox con cierta información. Pero tengo esto:
protected override void OnFormClosing(FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
if (MessageBox.Show("¿Desea Salir realmente?\nLa factura aun no ha sido pagada por lo que volverá a la pantalla anterior y podrá seguir agregando productos") == DialogResult.No)
{
e.Cancel = true;
}
}
base.OnFormClosing(e);
}
Pero cada vez que llamo This.Close(); el CloseReason siempre es UserClosing.
¿Puedo configurarlo después de la llamada o tengo que manejar el OnFormClosing diferente?
BTW: El MessageBox.show() está incompleto porque lo escribí aquí, no en VS – josecortesp
También he encontrado que el CloseReason para llamar a Form.Close() parece ser siempre UserClosing. Esto es un poco tonto ya que UserClosing realmente debería surgir cuando el usuario presiona el botón de cerrar, selecciona cerrar desde el menú del sistema, o Alt + F4 es la forma. –