Witam. Mam aplikację która przy zamykaniu ma zapisywać swoje ustawienia, wyłączać pluginy (a te z kolei wtedy zapisują swoje ustawienia) etc, trochę tego jest, ale nie trwa dłużej niż 1-2s. Nie ma problemu kiedy użytkownik ręcznie wyłączy program, natomiast problem pojawia się kiedy aplikacja jest zamykana przez windowsa przy wylogowywaniu. Wtedy zdąży się zapisać tylko część ustawień, a potem najwyraźnej proces jest "killnięty". Działo się tak kiedy robiłem to w zdarzeniu Application.ApplicationExit
. Obecnie jest tak i wydaje się działać poprawnie:
void frmMain_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
// zapisywanie ustawień etc..
e.Cancel = false;
}
Wydaje mi się to jednak mało elegancki sposób z tym chwilowym anulowaniem zdarzenia... Jest na to może jakiś lepszy sposób o którym nie wiem, a chętnie się dowiem?