Merci pour ta réponse 
Voici mon délégué appelé par Application.Exit (dans un ApplicationContext)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| private void OnApplicationExit(object sender, EventArgs e)
{
form.Close();
form.Dispose();
try
{
ClockManager.WriteClockList(user_data, false);
}
catch (Exception x)
{
MessageBox.Show(x.Message);
Environment.Exit(1);
}
Application.Exit();
} |
form est un Formulaire de config qui reste masqué et qui s'affiche lorsque l'on clique sur la tray icon.
WriteClockList est une methode statique qui serialize une liste de formulaire.
J'ai remarqué que Application.Exit ne marche pas dans le bloc "catch". Pour l'instant je mets Environment.Exit mais c'est un peu la solution de facilité 
J'ai essayé de faire ca :
Microsoft.Win32.SystemEvents.SessionEnding+= new Microsoft.Win32.SessionEndingEventHandler(this.OnApplicationExit);
Mais ca ne marche pas non plus.
Partager