Desidero impostare il CloseReason di un modulo dopo aver chiamato This.Close() all'interno del modulo.Impostazione a programmazione inferiore.
Di solito, questo forma è chiuso da solo chiamando This.Close(), ma voglio chiedere all'utente se davvero vogliono chiudere il modulo, e inviare un mbox con alcune informazioni. Ma ho questo:
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);
}
Ma ogni volta chiamo This.Close(); il CloseReason è sempre UserClosing.
Posso impostarlo dopo la chiamata o devo gestire OnFormClosing diverso?
BTW: Il MessageBox.show() è incompleta perché l'ho scritto qui, non in VS – josecortesp
Ho anche scoperto che la CloseReason per chiamare Form.Close() sembra essere sempre UserClosing. Questo è un po 'sciocco dal momento che UserClosing dovrebbe davvero sorgere solo quando l'utente preme il pulsante di chiusura, seleziona chiudi dal menu di sistema o Alt + F4 è il modulo. –