Как скрыть форму в трей только при закрытии (крестиком)
private void mainForm_FormClosing(object sender, FormClosingEventArgs e)
{
save_data();
this.WindowState = FormWindowState.Minimized;
e.Cancel = true;
}
Так работает. Но когда мне нужно реально закрыть окно с кнопки или через меню, то вызывается та же функция, что приведена выше, и окно сворачивается. Как нужно прописать условие, чтобы проверить, что окно закрывается крестиком. Видимо как-то так:
if (sender (...) == крестик на форме) e.Cancel = true;
Подскажите как правильно прописать это условие :)
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Всегда интересуйтесь что за аргументы FormClosingEventArgs у обработчика события. У разных обработчиков они разные бывают. В них обычно много полезного.
private void mainForm_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
save_data();
this.Hide(); // чтобы обратно показать, используйте this.Show();
e.Cancel = true;
}
}